Angularjs 带隔离范围的角度指令“;“休息”;其他指令(需要ng,禁用ng)
请在Plunker现场试一试- 请问我该如何解决这个问题?与Plunker和下面的例子不同,我正在处理的指令需要一个独立的作用域(或者至少当前的实现使用了一个作用域,我宁愿不重写它)Angularjs 带隔离范围的角度指令“;“休息”;其他指令(需要ng,禁用ng),angularjs,angularjs-directive,Angularjs,Angularjs Directive,请在Plunker现场试一试- 请问我该如何解决这个问题?与Plunker和下面的例子不同,我正在处理的指令需要一个独立的作用域(或者至少当前的实现使用了一个作用域,我宁愿不重写它) var-app=angular.module(“MyApp”,[]); app.directive(“myDirective”,function()){ 返回{ //作用域:{}, 链接:函数(){} }; }); .ng无效{ 边框:1px纯红; } 我的指令 测试下面的复选框,然后取消注释//范围:{},
var-app=angular.module(“MyApp”,[]);
app.directive(“myDirective”,function()){
返回{
//作用域:{},
链接:函数(){}
};
});
.ng无效{
边框:1px纯红;
}
我的指令
测试下面的复选框,然后取消注释//范围:{},然后重试
致以最良好的祝愿,
Hans问题是作用域应用于整个DOM元素(即,在本例中为
),而我的指令
正在创建一个隔离作用域,然后应用于ng disabled
和ng required
。隔离作用域不典型地从封闭作用域继承,因此isActive
在其中不可见
您可以将该作用域属性映射到隔离作用域,方法是显式地将其作为隔离作用域上的属性提供,然后从ng required
和ng disabled
引用该属性的本地版本。例如,在指令定义中:
scope: {
myActive: '='
}
“=”将双向绑定设置到该元素的myActive
属性中给定的表达式,本地名称为myActive
在
标记中:
my-directive my-active="isActive" ng-required="myActive" ng-disabled="!myActive"
myActive=“isActive”
将父范围中的isActive
绑定到隔离范围中的myActive
我已经演示过了。谢谢Aron。您的回答不仅有效,而且帮助我更好地理解了scope如何应用于指令。非常感谢。
my-directive my-active="isActive" ng-required="myActive" ng-disabled="!myActive"