Ionic - 在列表

时间:2015-05-25 14:07:09

标签: cordova ionic-framework ionic phonegap-build

我有一个视图,其中包含一个名称列表,可以使用复选框组件切换“打开”和“关闭”。

此视图如下所示: Ionic Screenshot

这很好用,但我需要一种方法让用户也可以删除其中一个列表项。我想象用swipe-right做这件事并更新我的标记如下:

<ion-view view-title="Home" hide-nav-bar="true">
  <ion-content class="padding">
    <label class="item item-input">
      <input type="text" placeholder="Enter Name" ng-model="model.name">
    </label>
    <button class="ion-plus-circled button-block btn-primary button" ng-click="add(model.name)" side="right">
       Add Name
    </button>
    <ion-list type="card" can-swipe="true">
      <ion-checkbox ng-repeat="participant in participants"
                      ng-model="participant.include" 
                      ng-change="participantIncludeChanged(participant.id)"
                      ng-checked="participant.include"
                      on-swipe-right="onSwipeRight(participant.id)">
          <p>{{ participant.name }}</p>
        </ion-checkbox>
    </ion-list>
  </ion-content>
</ion-view>

您会注意到on-swipe-right元素上的ion-checkbox属性。我认为这仍然有效,但它没有点击事件处理程序(目前只提醒id)

如何让on-swipe-right处理程序命中?

如果想到任何事情,请随意评论更好的方法。

提前致谢!

1 个答案:

答案 0 :(得分:0)

这很可能是 ng-repeat 为循环中的每个项创建子范围。

&#xA;&#xA;

尝试访问循环内的父作用域。 $ parent.onSwipeRight(participant.id)

&#xA;&#xA;

&#xA;&lt; ion-checkbox ng-repeat =“参与者参加“&#XA; ng-model =“participant.include”&#xA; NG-变化= “participantIncludeChanged(participant.id)” &#XA; NG-检查= “participant.include” &#XA;上滑动右= “$ parent.onSwipeRight(participant.id)” &GT;&#XA; &lt; p&gt; {{participant.name}}&lt; / p&gt;&#xA;&lt; / ion-checkbox&gt;&#xA; &#xA;以下链接也可以帮助您

& #xA;&#xA;

ng-click在ng-内部无效重复

&#XA;&#XA;

HTH

&#XA;