我的controller
为:
app.controller('myPapersCtrl', function ($scope, $http) {
$scope.papers = [];
$scope.refreshGrid = function(){
$http.get('api/getPapers').success(function (d) {
$scope.papers = d;
})
}
$scope.register = function () {
$.post('api/register', $('#newPaperForm').serializeArray(), function (d, s, j) {
$scope.refreshGrid()
}
}
}
并且在视图中我有一个像这样的按钮(一些Jade):
button(ng-click="register()") Regsiter
和ng-repeat
这样的元素:
li(ng-repeat="paper in papers") {{paper.blah}}
当我点击注册按钮时,我希望在服务器上发布我的数据,它会发生,但我也希望我的ng-repeat
元素重复!但它没有!
我已跟踪代码,refreshGrid()
会运行并更改$scope
,但实际上没有任何反应。为什么呢?
答案 0 :(得分:0)
您应该在$scope.$apply()
后的refreshGrid()
方法中致电$scope.papers = d
。这应该会更新您的观点。