ng指数中$ index的奇怪行为

时间:2014-04-12 00:24:33

标签: angularjs ionic-framework

我正在使用Ionic框架,我有以下代码:

工作精细:

<ion-slide-box on-slide-changed="slideChange()">
    <ion-slide ng-repeat="selected in instanceList">
        {{$index}}
        <div ng-if="currSlide==$index || !currSlide">
            CONTENT
        </div>
    </ion-slide>
</ion-slide-box>

DOESN&#39;工作:

<ion-slide-box on-slide-changed="slideChange()">
    <ion-slide ng-repeat="selected in instanceList">
        <div ng-if="currSlide==$index || !currSlide">
             CONTENT
        </div>
    </ion-slide>
</ion-slide-box>

对于那些不熟悉Ionic的人,此功能可确保currSlide始终更新其值,并且$index的值始终相同:

$scope.slideChange = function() {
    $scope.currSlide = $ionicSlideBoxDelegate.currentIndex();
};

更多详细信息:当我说第二个代码不起作用时:第一张幻灯片的内容会出现,但是当我更改幻灯片时,div的内容不会出现。出现了。在第一个代码中,一切看起来都很好(也是我正在打印的$index。)

CODEPEN: http://codepen.io/anon/pen/mdsIr

1 个答案:

答案 0 :(得分:0)

{{}}的双向数据绑定{{$index}}在指令中有$watch,因此移除{{}}会删除更新幻灯片的$ watch。