我是AngularJS的新手,我花了好几个小时试图找出我的代码有什么不对...
var articles = angular.module('Articles', []).config(function($interpolateProvider){
$interpolateProvider.startSymbol('{§').endSymbol('§}');
});
articles.controller('CommentsCtrl', ['$scope', '$http', function($scope, $http) {
this.comments = [];
this.showComments = function (index) {
$http({
method: 'POST',
url: '{{ path ('backend_article_commentaires')}}',
data: {articleID:index}
})
.success(function (data, status, headers, config) {
comments = data;
})
.error(function (data, status, headers, config) {
console.log(data)
});
}
}]);
问题是 评论 变量不会改变......
请问我怎么解决这个问题?
更新
<div class="md-modal md-effect-13" id="modal-comments"
ng-controller="CommentsCtrl as ctrl">
<div class="md-content">
<h3>
<i class="fa fa-comments"></i> Tous les commentaires
</h3>
<div>
<div id="list-comment">
<h4>Cet article n'a aucun commentaires...</h4>
<li ng-repeat="comment in ctrl.comments" class="media">
<a>{{ comment.title }}</a>
</li>
</div>
<div class="button-row">
<button class="btn btn-danger md-close md-yes">Fermer</button>
</div>
</div>
</div>
</div>
答案 0 :(得分:0)
你的问题是范围之一(而不是角度范围),你的成功函数中的这个与你的控制器中的这个不一样。如果你指定&#34;这个&#34;到控制器中的变量,然后引用你应该好的去。
articles.controller('CommentsCtrl', ['$scope', '$http', function($scope, $http) {
this.comments = [];
var rootThis = this;
this.showComments = function (index) {
$http({
method: 'POST',
url: '{{ path ('backend_article_commentaires')}}',
data: {articleID:index}
})
.success(function (data, status, headers, config) {
rootThis.comments = data;
})
.error(function (data, status, headers, config) {
console.log(data)
});
}
}]);
正如你所看到的,我创建了一个rootThis变量来保存&#34;这个&#34;这样我就可以在成功函数中使用它