我正在尝试用Angularjs和MongoDB制作一个简单的应用程序。我有一些文章可以添加评论并显示它们
评论部分位于指令中定义的模板中,该指令本身位于带有另一个Controller的Home模板中。
要清楚(或者可能不是?):HomeTemplate [with MainCtrl]拥有一个COMMENT元素[与他的指令]。
这是我的指示
app.directive('Comment', function(){
return{
templateUrl: '/comments.html',
scope:{
post:'=datapost'
},
controller: ['$scope', 'posts', 'auth', function($scope, posts,auth){
$scope.isLoggedIn = auth.isLoggedIn;
$scope.addComment = function(){
if($scope.commentToAdd === '')
return;
$scope.isLoading = true;
posts.addComment($scope.post._id, {
body: $scope.commentToAdd,
author: auth.currentUser()
}).success(function(comment){
$scope.post.comments.push(comment);
});
$scope.commentToAdd = '';
$scope.isLoading = false;
};
}]
}
});
Auth&帖子指令后面定义
这是我的MainCtrl,我应该触发事件:
$scope.showComments = function(){
$scope.showingComments = true;
};
这是我的HTML:
<div ng-show="showingComments =!showingComments">
<div comment datapost="post" ></div>
</div>
答案 0 :(得分:1)
我不太确定你的问题是什么,但是:
<div ng-show="showingComments =!showingComments">
应该是
<div ng-show="showingComments">
=!
不是有效的运算符,您将相同的变量与自身进行比较
使用ng-show="showingComments"
来显示true
或ng-show="!showingComments"
是否显示false