我的HTML上有这段代码,我用Angular填充:
<table id="myTable">
<tr>
<th>Id</th>
<th>desc</th>
<th>prod kg</th>
<th>index</th>
</tr>
<tr ng-repeat="x in maq" ng-if="{{ x.index }}=='0'" id="{{ x.index }}">
<td style="border: 1px solid black;">{{ x.codigo }}</td>
<td style="border: 1px solid black;">{{ x.desc }}</td>
<td style="border: 1px solid black;">{{ x.prod_24_h_kg }}</td>
<td style="border: 1px solid black;">{{ x.index }}</td>
</tr>
</table>
到目前为止没问题。但是我想为每一行制作和ng-if,如你所见,让我们说:
{{x.index}} ==&#39; 0&#39;
我不想让那一行出现。我尝试了很多组合的&#34; &#34;和&#39; &#39;没有成功。有没有人看到解决方案?
答案 0 :(得分:4)
不需要在{{}}
指令中使用插值ng-if
指令,它直接采用将根据当前范围进行评估的表达式。
ng-if="x.index ==0"
实现同样的事情的另一个选择是使用过滤器。
ng-repeat="x in maq | filter: {index: 0} as filterdMaq"
控制器内部可能会发生相同的过滤事件,这也有助于提高性能。
$http.get('data.json').then(function(response){
$scope.dataCopy = response.data; //this is original copy of an maq.
//filtered maq
$scope.maq = $filter('filter')(angular.copy($scope.dataCopy), { index: 0}, true);
});
答案 1 :(得分:1)
您无需使用{{}}。只需打印x.index =='0'
即可