Ang-ng重复范围问题

我的{{}}中没有任何内容显示在我的html文件中。 有人可以告诉我我做错了什么。 我的控制台没有错误

“GOT DATA”将在我的控制台中打印,但不显示在我的文件中。

这是我的HTML代码

<div class="announcements" ng-controller="onBusinessAnnouncementCtrl as announcements"> {{announcements.latest}} </div> 

这是我从服务器拉的js代码

 app.controller('onBusinessAnnouncementCtrl', function($scope, $http) { $http.get('http://localhost:3000/latest') .success(function(responses) { //$scope.latest = responses; $scope.latest = "GOT DATA"; console.log($scope.latest); }); }); 

因为你使用controller as syntac你应该把你的控制器中的variables应用到this而不是$scope

在AngularJS中看到相同的问题在使用中继器的情况下, Ng-repeat没有像预期的那样工作

低于上一个问题的答案:在你的中继器中,你正在循环播放announcements.announcements在你的控制器中announcements.announcements你设置$scope.announcements = response

要么你改变中继器在ng-repeat="eachAnnouncement in announcements"或者将你的范围variables改为: $scope.announcements = {announcements : response}

弄清楚了! 作为参考:我的HTML没有任何显示,因为没有值分配给控制器。 要将“最新”分配给我的控制器,我必须这样做:

 app.controller('onBusinessAnnouncementCtrl', function($scope, $http) { $http.get('http://localhost:3000/latest') var this = this; .success(function(responses) { this.latest = responses; }); }); <div class="announcements" ng-controller="onBusinessAnnouncementCtrl as announcements">{{announcements.latest}}</div>