Angularjs 带隔离作用域的角度嵌套指令-表单输入

Angularjs 带隔离作用域的角度嵌套指令-表单输入,angularjs,input,nested,angularjs-scope,directive,Angularjs,Input,Nested,Angularjs Scope,Directive,我正在努力掌握指令,并在一个方面挣扎。指令的form input元素中的表达式在属性(也是指令)中使用时不会被计算 考虑这个元素,它是HTML指令的一部分 <input name="atin" type="text" ng-model="model" required="{{req}}" random-attribute="{{req}}"/> 假设通过隔离作用域属性传入的属性值req的值为true,则当指令已编译/链接时,查看源代码时生成的HTML为true <input

我正在努力掌握指令,并在一个方面挣扎。指令的form input元素中的表达式在属性(也是指令)中使用时不会被计算

考虑这个元素,它是HTML指令的一部分

<input name="atin" type="text" ng-model="model" required="{{req}}" random-attribute="{{req}}"/>
假设通过隔离作用域属性传入的属性值req的值为true,则当指令已编译/链接时,查看源代码时生成的HTML为true

<input name="atin" type="text" ng-model="model" required="{{req}}" random-attribute="true"/>
也就是说,它只在随机属性中被替换,而不是在必需属性中被替换。我猜这与所需属性本身就是一个指令这一事实有关

这是一个演示它的plunkr

我知道有一种解决方案涉及在atInput指令的编译阶段添加输入元素属性,但我想知道为什么当前的解决方案不起作用,以及解决此问题的最佳方法是什么


谢谢

听起来您可能需要执行ng required=req而不是required={{req}