使用离子重新排序时,ng-click不能用于ion-list

时间:2016-05-05 09:45:28

标签: angularjs ionic-framework

嗨,我是离子和棱角分明的新手。离子项目的onclick我需要一个索引,我想显示手风琴(崩溃和扩展)。我怎样才能做到这一点

 <ion-list class="ion-navicon" show-reorder="true"
      can-swipe="listCanSwipe">
        <ion-item data-ng-repeat="item in items track by $index" data-ng-click="service($index)" class="item-thumbnail-left">
          <ion-reorder-button class="ion-navicon"
                    on-reorder="moveItem(item, $fromIndex, $toIndex)">
        </ion-reorder-button>

        <div class="{{item.name}}"></div>
        </ion-item>
    </ion-list>
</ion-content>

以下是我的控制器

var myApp = angular.module('myApp',[]);
myApp.controller('reorderCtrl',
    [
            '$scope',
            function($scope) {
                $scope.moveItem = function(item, fromIndex, toIndex) {
                    $scope.items.splice(fromIndex, 1);
                    $scope.items.splice(toIndex, 0, item);
                  };

                  $scope.service= function(index){
                      console.log(index)

                  }
                  $scope.items = [{name : jai},{name : saurabh},{name : kamesh},{name : vijay},{name : ravi}];

            }])

3 个答案:

答案 0 :(得分:2)

这对我有用,希望它对你有用:

<ion-list show-reorder="true">
     <ion-item  class="enable-pointer-events" ng-re....otherGloriousStuff>
<ion-list>

答案 1 :(得分:1)

我在css中解决了这个问题。

.disable-pointer-events{
    pointer-events: all;
}

希望它适合你。

答案 2 :(得分:0)

问题是ng-repeat指令有自己的范围。该范围没有您定义的service方法。

您可以使用reorderCtrl as ctrl语法导入控制器。这将允许您使用

调用该控制器中的方法

reorderCtrl.service()

请同时参考此问题:Ng-click doesn't work inside ng-repeat