在我的代码中,我只想从数组中打印第一个单词,而我正在使用 ng-if 条件。
HTML:
<div ng-controller="MyCtrl">
<div ng-repeat="Word in Words">
<div ng-if="$index === 0" class="preview">{{Word}}- {{$index}}</div>
</div>
</div>
控制器:
var myApp = angular.module('myApp', []);
function MyCtrl($scope) {
$scope.Words = ['Mon','Tue','Wed'];
}
正如您所看到的,我使用ng-if="$index === 0"
然后打印div值,但它想要工作,不知道为什么?
实施例:How to install stringi library from archive and install the local icu52l.zip
答案 0 :(得分:6)
ngIf来自角度版本1.2.1但您使用的是1.0.3 因此您的ng-if不起作用。如果将角度版本升级到最新版本,则可以正常工作。
否则我建议使用 ngShow 指令
在此上下文中使用ng-show
,只需将$first
用于数组中的show first元素
<div ng-show="$first" class="preview">{{Word}}- {{$index}}</div>
当我们使用ngIf和ngShow时:
ngIf 指令根据{expression}
删除或重新创建DOM树的一部分ngShow 指令根据提供给ngShow属性的表达式显示或隐藏给定的HTML元素
答案 1 :(得分:2)
更好的方法是使用$first
而不是比较$index
<div ng-controller="MyCtrl">
<div ng-repeat="Word in Words">
<div ng-show="$first" class="preview">{{Word}}- {{$index}}</div>
</div>
</div>
答案 2 :(得分:1)
使用最新版本的AngularJS,它应该可以工作。
答案 3 :(得分:0)
只需使用ng-show就可以了:)
<div ng-controller="MyCtrl">
<div ng-repeat="Word in Words">
<div ng-show="$index == 0" class="preview">{{Word}}- {{$index}}</div>
</div>
</div>