我使用Angular 1.4.7angular-ui-router 0.2.15
作为状态路由器。我的标准控制器看起来像:
var app = angular.module('App.Page1',[....]);
app.controller('Page1Ctrl',['$scope' ... ,function($scope ...) {
...
$scope.records = [];
// jsRoutes.controllers.Page1.list() - is ajax wrapper
jsRoutes.controllers.Page1.listitems().ajax({
success: function(data) {
console.log("RECV",data);
$scope.records = data
},
error: function(res){ console.log("ERROR",res); }
});
});
刚刚推出记录的控制器模板:
<h1>Page1</h1>
<div ng-repeat="record in records" class="row">
{{record.name}} ...
</div>
它有效,但不稳定。有时我只收到带有标题的页面。看起来解析器数组为空,但是我在网络请求中看到列表请求已成功接收,并且调用了成功函数。刷新页面后,我再次看到我的数据。
您的ajax服务调用在AngularJS上下文之外。因此,您需要明确告知Angular一些数据已更改。
$scope.$apply()
在将数据分配给$ scope变量后,可以调用成功函数来完成此操作。
$scope.parsers = data; $scope.$apply();
这应该可以解决您的问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句