【发布时间】:2014-12-14 10:36:56
【问题描述】:
我正在努力掌握指令并在一个方面苦苦挣扎。指令的表单输入元素中的表达式在用于也是指令的属性时不会被评估。
考虑这个元素,它是 HTML 指令的一部分,
<input name="atin" type="text" ng-model="model" required="{{req}}" random-attribute="{{req}}"/>
假设属性值“req”(通过隔离范围属性传入)的值为“true”,那么当指令被编译/链接时,生成的 HTML(当您查看源代码时)是
<input name="atin" type="text" ng-model="model" required="{{req}}" random-attribute="true"/>
即它只被替换为“随机属性”,而不是“必需”属性。我猜这与 required 属性本身就是一个指令有关。
这是一个演示它的 plunkr
http://plnkr.co/edit/sq5lpbKqjyV9mCOwSBTo
我确实知道一种解决方案,它涉及在 atInput 指令的编译阶段添加输入元素属性,但我想知道为什么当前的解决方案不起作用以及解决此问题的最佳方法是什么。
谢谢
【问题讨论】:
标签: angularjs input nested angularjs-scope directive