父范围未绑定到自定义指令iso范围

时间:2018-01-04 02:54:15

标签: javascript angularjs

这是我的指示:

(function() {
    angular.module('commentsDirective', [])

    .directive('mngComments', mngComments)

    function mngComments() {
        return {
            restrict: 'AE',
            scope: { },
            templateUrl: '/comments/comments.html',
            controller: 'CommentsController',
            controllerAs: 'vm',
            bindToController: {   
                moment: '=',
                comments: '=',
                showComments: '='
            }
        };
    };
})();

以下是我如何使用它并传递值:

<div mng-comments moment="vm.moments[0]" comments="vm.comments" showComments="true"></div>

注意我是如何硬编码的#34; true&#34;进入showComments。然而在我的comments.html文件中:

comments {{vm.showComments}}

它显示{{vm.showComments}}没有任何价值它只是评论。 vm.moments和vm.comments正确传递。

1 个答案:

答案 0 :(得分:1)

&#13;
&#13;
(function() {
    angular.module('commentsDirective', [])

    .directive('mngComments', mngComments)

    function mngComments() {
        return {
            restrict: 'AE',
            scope: { },
            template: '<div>test {{vm.showComments}}</div>',
            controller: function(){},
            controllerAs: 'vm',
            bindToController: {   
                moment: '=',
                comments: '=',
                showComments: '='
            }
        };
    };
})();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.7/angular.js"></script>

<div ng-app="commentsDirective">
  <div mng-comments
       moment="vm.moments[0]"
       comments="vm.comments"
       show-comments="true">
  </div>
</div>
&#13;
&#13;
&#13;

如评论中所示,只需在HTML中使用连字符大小写,以获取javascript中的绑定/范围属性。 HTML不区分大小写,因此使用 - 而不是驼峰套管。