我的{{}}中的任何内容都没有显示在我的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);
});
});
答案 0 :(得分:1)
由于您使用的是controller as syntac
,因此您应该将控制器中的变量应用于this
而不是$scope
。
在使用转发器的AngularJS Ng-repeat is not working as expected中查看相同的问题
低于上一个问题的答案:
在您的转发器中,您在控制器中循环announcements.announcements
,并设置$scope.announcements = response
。
您可以更改ng-repeat="eachAnnouncement in announcements"
中的转发器或将范围变量更改为:$scope.announcements = {announcements : response}
答案 1 :(得分:0)
想出来!以供参考: 我的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>