我有一些非常简单的东西,类似下面。我的问题是如何使指令的控制器内可用的分离范围:(For a full jsbin version, click here!)如何在指令的控制器内使用隔离范围?
app.directive("data", function() {
return {
restrict: "E",
template: "<div>My Data</div>",
scope: {
myData : '='
},
require: "data",
controller: function(){
this.logData = function(){
console.log(scope.myData);
}
},
link:function(scope,element,attrs,ctrl){
console.log(scope.myData); //works!
ctrl.logData(); //scope is not defined
}
}
})
因此,指令控制器的“$ scope”是否可以访问指令的隔离范围? – 2015-04-04 14:04:16
是的,他们正在访问相同的作用域(如果你在上面的例子中记录它们,你会看到两个作用域的作用域为2)。 – Shomz 2015-04-04 14:40:02