Angularjs 视图在加载时未在 ng-repeat 中显示绑定数据
Angularjs view not showing bound data in ng-repeat when it loads
这似乎是一个简单的问题,但我还没有找到答案。我的观点有:
<table>
<tr ng-repeat="org in vm.organizationList">
<td>{{org.name}}</td>
<td>{{org.description}}</td>
</tr>
</table>
我的控制器会做类似的事情:
angular
.module('app')
.controller('Organization', organization);
organization.$inject = ['logger'];
function organization(logger) {
/* jshint validthis:true */
var vm = this;
vm.organizationList = [];
activate();
function activate() {
vm.organizationList = getList();
}
}
我删除了有关如何获取数据的详细信息,以便更加简洁。问题是加载表单时,我没有在 table 中看到数据。只有当我离开那个视图并转到另一个视图时,我才会看到数据一秒钟。
我该如何解决?谢谢
检查:
1) 您已设置 ng-app
指令。
2) vm.organizationList
不为空。
如果您不使用 $http
加载数据,请在填充数据后触发 $scope.$apply()
。
organization.$inject = ['logger', '$scope'];
function organization(logger, $scope) {
/* jshint validthis:true */
var vm = this;
vm.organizationList = [];
activate();
function activate() {
vm.organizationList = getList();
$scope.$apply();
}
}
这似乎是一个简单的问题,但我还没有找到答案。我的观点有:
<table>
<tr ng-repeat="org in vm.organizationList">
<td>{{org.name}}</td>
<td>{{org.description}}</td>
</tr>
</table>
我的控制器会做类似的事情:
angular
.module('app')
.controller('Organization', organization);
organization.$inject = ['logger'];
function organization(logger) {
/* jshint validthis:true */
var vm = this;
vm.organizationList = [];
activate();
function activate() {
vm.organizationList = getList();
}
}
我删除了有关如何获取数据的详细信息,以便更加简洁。问题是加载表单时,我没有在 table 中看到数据。只有当我离开那个视图并转到另一个视图时,我才会看到数据一秒钟。
我该如何解决?谢谢
检查:
1) 您已设置 ng-app
指令。
2) vm.organizationList
不为空。
如果您不使用 $http
加载数据,请在填充数据后触发 $scope.$apply()
。
organization.$inject = ['logger', '$scope'];
function organization(logger, $scope) {
/* jshint validthis:true */
var vm = this;
vm.organizationList = [];
activate();
function activate() {
vm.organizationList = getList();
$scope.$apply();
}
}