[英]Angular ng-repeat scope issue
{{}}中的任何內容都沒有顯示在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
,所以應該將控制器中的變量應用於this
而不是$scope
。
在使用中繼器的情況下,在AngularJS中看到相同的問題Ng-repeat無法正常工作
在上一個問題的答案下面:在中繼器中,您遍歷控制器中的announcements.announcements
,您設置了$scope.announcements = response
。
您可以在ng-repeat="eachAnnouncement in announcements"
更改轉發器,或者將范圍變量更改為: $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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.