我有两个控制器。该视图与firstCtrl绑定。我正在尝试在第二个中运行该功能,以便更新视图。函数运行但视图未更新。有什么想法吗?
<div>{{people.length}}</div>
angular.module('myApp').controller('firstCtrl', function($scope, $http) {
var self = this;
$scope.people = [];
function getData() {
$http.get('/people').then(function(res) {
$scope.people = res.data;
});
}
getData();
$scope.getData = getData;
self.getData = function(){
$scope.getData();
};
return self;
});
angular.module('myApp').controller('secondCtrl', function( $controller, $scope, $http) {
var firstCtrl= $controller('firstCtrl', { $scope: $scope.$new() });
firstCtrl.getData(); //This runs but view is not updated above.
});
答案 0 :(得分:0)
我认为您的代码在$ scope中存在一些问题。所以不要直接在firstCtrl中传递数据。我将回调传递给getData函数并将数据分配给回调中的$ scope.people。
这是工作的Plunker:
> http://plnkr.co/edit/QznxFL