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>