あなたは、あなたのイオンの項目でUI-SREFディレクティブを使用するリンク(のような<a>
タグ)としてそれを作ることと、それから、あなたのボタンを追加しますその間に、コースのボタンをクリックすると、ページのナビゲーションが行われます。
ボタンを外側に定義する必要があります。
<ion-item ng-class="{'save': item.save}" collection-repeat="item in items" ui-sref="tab.page({id:item.$id})">
</ion-item>
<button class="icon button top-right" ng-click="item.save = !item.save" ng-class="{'ion-ios-heart button-clear button-assertive':item.save, 'ion-ios-heart-outline button-clear button-stable':!item.save}"></button>
更新: あなたがリンクタグ内のボタンを持っている場合、基本的には、ボタンは最初、右のリンクがトリガ後に呼ばれます。あなたがしなければならないことは、ボタンがクリックされた場合、どうかあなたのui-sref eveentに対してfalseを返すことです。
あなたがangularjsを使用しているので、あなたはこれを行うことができます(私はそれをテストしていないが、それは動作するはずです、これは働いていたなら、私に知らせて):
1 - あなたイオンアイテムをngのクリックを追加
<ion-item ng-click="isNavigation()" ng-class="{'save': item.save}" collection-repeat="item in items" ui-sref="tab.page({id:item.$id})">
2 - あなたのボタン
<button class="icon button top-right" ng-click="myFunctionName(item.save)" ng-class="{'ion-ios-heart button-clear button-assertive':item.save, 'ion-ios-heart-outline button-clear button-stable':!item.save}"></button>
3機能を使用するためにNGがクリック変更 - 中あなたのコントローラ:
$rootScope.isNavigation=true;
$scope.isNavigation=function(){
if($rootScope.isNavigation)
return true;
else
return false;
}
$scope.myFunctionName(item){
$rootScope.isNavigation=false;
return item.save = !item.save;
}
ありがとうございました!イオンアイテムの外側にボタンを置くと、ページナビゲーションが回避されることを理解しています。しかし、コレクションリピートの各リストアイテムに自分のボタンが表示されるようにしようとしています。ボタンを私のcollection-repeatディレクティブにリンクする方法はありますか?私のui-srefディレクティブではありません。 –
私は答えを更新し、それが助けてくれることを願っています。 –
このメソッドを使って私が望むことをすることはできませんでしたが、これを行う簡単な方法が見つかりました:ng-click = "$ event.stopPropagation()" –