我正试图掌握指令并且正在努力解决一个问题。当在同样是指令的属性中使用时,不会评估指令的表单输入元素中的表达式。
考虑这个元素,它是指令HTML的一部分,
<input name="atin" type="text" ng-model="model" required="{{req}}" random-attribute="{{req}}"/>
假设属性值&#34; req&#34; (通过隔离范围属性传入)是&#34; true&#34;,然后当编译/链接指令时,生成的HTML(当您查看源代码时)是
<input name="atin" type="text" ng-model="model" required="{{req}}" random-attribute="true"/>
即。它只在&#34; random-attribute&#34;中被替换,而不是&#34; required&#34;属性。我猜这与必需属性本身就是指令这一事实有关。
这是一个演示它的傻瓜
http://plnkr.co/edit/sq5lpbKqjyV9mCOwSBTo
我知道一个解决方案涉及在atInput指令的编译阶段添加输入元素属性,但我想知道为什么当前的解决方案不起作用以及解决此问题的最佳方法是什么。 / p>
由于
答案 0 :(得分:0)
听起来您可能需要ng-required="req"
代替required="{{req}}"
...