我有以下代码段。我试图澄清评论,但我无法在回复中做到这一点。有人可以帮我弄清楚如何做到这一点。
app.controller('CommentController', function($scope, $http) {
$scope.addReview = function(obj) {
this.comment.id = obj.id;
$http.post('/save', this.comment).
then(function(response) {
obj.comments.push(response.data);
this.comment = {};
}, function(response) {
});
};
});
答案 0 :(得分:2)
这是因为范围:'this'是指'then'回调。 试试这个:
app.controller('CommentController', function($scope, $http) {
$scope.addReview = function(obj) {
// retrieve the scope
var me = this;
this.comment.id = obj.id;
$http.post('/save', this.comment).
then(function(response) {
obj.comments.push(response.data);
// use the upper reference
me.comment = {};
}, function(response) {
});
};
});
此外,您可能会使用$ scope。$ apply函数。