我正在使用ng-repeat来执行多个子指令。在child指令的第一个实例中,我想设置属性' doAutofocus'为真。当我尝试下面的代码时,我得到一个解析错误。
错误:$ parse:syntax语法错误
我的指示' tradePanel',范围为{trade: '=', doAutofocus: '='}
当我的ng-repeat $index == 0
时,我希望doAutofocus为true,否则为false。
我在服务器端使用{{ }}
。
对于angularjs模板,我正在使用:
$interpolateProvider.startSymbol('{%');
$interpolateProvider.endSymbol('%}');
如何为我的第一个实例正确设置doAutofocus属性?
<div class="row">
<div class="col-xs-12 col-sm-12 col-sm-6" ng-repeat="trade in deal.trades">
<trade-panel trade="deal.trades[$index]" ng-attr-do-autofocus="{% ( $index === 0 ) ? true : false %}"></trade-panel>
</div>
</div>
答案 0 :(得分:1)
由于您对doAutofocus
指令范围属性使用双向绑定,因此不能在此处使用插值。只需编写您希望传递给指令的表达式。这必须是父范围的现有值。由于我们位于ng-repeat
块内,您可以使用提供的$first
变量:
<div class="col-xs-12 col-sm-12 col-sm-6" ng-repeat="trade in deal.trades">
<trade-panel trade="trade" do-autofocus="$first"></trade-panel>
</div>