Ng-show在指令模板中

时间:2016-05-11 13:28:17

标签: angularjs mongodb directive


我正在尝试用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>

1 个答案:

答案 0 :(得分:1)

我不太确定你的问题是什么,但是:

<div ng-show="showingComments =!showingComments">

应该是

<div ng-show="showingComments">

=!不是有效的运算符,您将相同的变量与自身进行比较

使用ng-show="showingComments"来显示trueng-show="!showingComments"是否显示false