我不知道为什么,但是:
@myApp.directive 'myDirective', () ->
return {
restrict: 'E',
scope: {
source: '='
},
link: (scope, element, attrs) ->
console.log scope.source
}
<my-directive source="foobar"></my-directive>
返回undefined
。令我困惑的是,在我的另一个指令print-user
中,一切正常。
return {
restrict: 'E',
scope: {
user: '=',
showName: '=',
showAvatar: '=',
avatarSize: '='
},
templateUrl: 'templates/partials/print-user.html',
link: (scope, element, attrs) ->
scope.tooltip = scope.user.username
}
在这里,我可以通过{{user}}
获取模板中的用户对象。
在myDirective
内我可以通过attrs.source
获取源属性 - 但为什么它在我的用户指令中工作?
编辑/解决方案
感谢Aleksandar Bencun:使用<my-directive source="'foobar'"></my-directive>
(附加单引号)解决了这个问题。