我遇到了自定义角度指令的问题。基本上,在下面的示例中,如果在指令范围之外,变量“name”将正确呈现,但在指令范围内则不会。
模板:
<div ng-controller="swygController">
<div swyg="example" edit="load(id)">
{{name}}
</div>
{{name}
</div>
指示:
swyg.directive('swyg', function(){
return {
restrict: 'A',
scope: {
edit: '&'
},
compile: function(elm, attr){
// Code
},
controller: function($scope, $element, $attrs) {
// Code
}
};
});
我已经用空的 compile 和 controller 指令函数对此进行了测试(以排除我的指令中导致问题的某些内容)并得到相同的结果。
我相当肯定这是一个范围问题,但无法弄清楚如何解决它。似乎我需要以某种方式允许指令继承控制器的范围?我认为既然指令在控制器内部,那就没问题了。
有没有其他人遇到过这个?
谢谢你的帮助!