这是我的指示:
(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正确传递。
答案 0 :(得分:1)
(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;
如评论中所示,只需在HTML中使用连字符大小写,以获取javascript中的绑定/范围属性。 HTML不区分大小写,因此使用 - 而不是驼峰套管。