AngularJS:访问指令';将属性从另一个属性中删除
我已经定义了一个自定义的checkbox指令,我想从另一个属性中访问一个属性 请注意以下示例中的AngularJS:访问指令';将属性从另一个属性中删除,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我已经定义了一个自定义的checkbox指令,我想从另一个属性中访问一个属性 请注意以下示例中的禁用和ng类属性: <checkbox ng-model="isChecked" disabled="<some angular expression>" ng-class="{'fresh': isChecked && !disabled}"/> 这可能吗 编辑: 为了让我的问题更清楚:在中,我演示了如何在我的ng
禁用
和ng类
属性:
<checkbox ng-model="isChecked"
disabled="<some angular expression>"
ng-class="{'fresh': isChecked && !disabled}"/>
这可能吗
编辑:
为了让我的问题更清楚:在中,我演示了如何在我的ng类
属性中重用属性disabled
在fiddle中,这将永远不起作用,因为ng类
属性中的disabled
总是false(它不是复选框的属性disabled(或指令范围中的disabled),而是当前范围中的'disabled'
scope: {
ngModel: "=",
disabled: "@"
}
ng类
将使用模型值进行评估isChecked
编辑
看来你想做的是不可能的
disabled="<some angular expression>"
此处ng类
expectisChecked
和disabled
是模型属性。你可以做其他事情,比如
ng-class="{'fresh': isChecked && (expression)}" // you can put expression instead of disabled
否则您需要link/controller。在模板中,您可以像{{arributename}一样访问ArtAttribute。在链接函数中,您可以使用scope.attributename访问它。对于属性访问,请使用“@”而不是“=”如果是这样,那么上面的示例不应该很好地工作吗?通过作用域访问属性值没有问题。以下是一个示例:@Pythonic我更新了我的问题,以便更清楚地了解我想要实现的目标。我不认为这可以解决我的问题。。。我知道什么是属性绑定,但我想在模板中为ngClass做逻辑,而不是在link/controller函数中。谢谢您的编辑。现在我按照你说的做了,在代码中放了两次表达式,但我认为有一种更漂亮的方法,重用disable属性似乎是一种解决方案。
ng-class="{'fresh': isChecked && !disabled}"
ng-class="{'fresh': isChecked && (expression)}" // you can put expression instead of disabled