我有一个ng-repeat,需要评估嵌套插值。这是一个例子:
<div ng-repeat="i in ['1', '2', '3']">
should evaluate to {{ i }}: {{ (i>0) && ( {{ i }} ) || false }}
</div>
这会导致$ parse错误。我想的问题是Angular不能执行嵌套的求值操作,或者支持嵌套插值。
有解决这个问题的方法吗?
答案 0 :(得分:0)
它为您提供解析错误,因为您无法嵌套{{}} ..
{{code}}基本上告诉角度,{{}}内的任何内容(在我的情况下是代码)都是JavaScript,js并不理解{{}}语法。这就是第二个{{ i }}
导致问题的原因。
您可能还想查看ngRepeat文档 - 您可以使用一些特殊属性,例如$ index。https://docs.angularjs.org/api/ng/directive/ngRepeat
答案 1 :(得分:0)
我无法理解这个{{ i }}: {{ (i>0) && ( {{ i }} ) || false }}
语句的含义,也不能在角度js中嵌套{{}}
。
你想要
吗?<强> Working Demo 强>
<div ng-controller="MyCtrl">
<div ng-repeat="i in ['0','1', '2', '3']">
{{ i>0 ? true: false }}
</div>
</div>
答案 2 :(得分:0)
将打印{{}}中的内容的结果 - 无需嵌套:
<div ng-repeat="i in ['0','1', '2', '3']"> {{ i > 0 ? i : false }} </div>
答案 3 :(得分:0)
尝试创建动态表组件时,我遇到了类似的问题。使用以下代码,由于嵌套插值,我可以在前端显示数据库中的任何表,而无需定义任何内容。 嵌套插值只需要使用方括号即可。 例如:{{row [[col.column_name]]}}
<table id="dynamicTable" class="table table-hover" cellspacing="0">
<thead>
<tr>
<th *ngFor="let col of Columns">{{col.column_name}}</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let row of Table">
<td *ngFor="let col of Columns">{{row[[col.column_name]]}}</td>
</tr>
</tbody>
</table>
希望这会有所帮助! (使用Angular 7)