这是我的指示。它有效,但当我取消注释scope{}
时 - DOM元素看不到scope.greeting
。
app.directive('myDir', function () {
return {
restrict: 'E',
//scope:{},
compile: function(tHtml,tAttr){
return {
post: function(scope,ele,attr){
scope.greeting = 'Hello!';
}
}
}
};
如果使用常用的方式使用链接功能,那么一切正常。 同时我不能同时使用Compile和Link 有什么问题?
答案 0 :(得分:0)
使用scope
属性时,您说要使用隔离范围。
由于myDir
未定义greeting
属性,因此当您取消注释scope
时,您将获得未定义的greeting
。使用//scope: {}
您正在使用父作用域(我猜,它具有greeting
属性)。
请参阅此What is the difference between '@' and '=' in directive scope in AngularJS?。