2016-04-24 43 views
1

私はリストアプリをやるためにionicを構築しています。 私は削除ボタンをクリックすると、リスト項目を削除する削除機能に取り組んでいるが、私は問題を抱えているとそれを把握することはできません。 削除ボタンが表示されますが、クリックすると何も起こりません。リストから項目を削除するIonic

HTML:

<ion-view view-title="To-Do"> 
    <ion-content class="padding"> 



    <!-- http://ionicframework.com/docs/components/#bar-inputs --> 
    <div class="bar bar-header item-input-inset"> 
     <label class="item-input-wrapper"> 
     <i class="icon placeholder-icon"></i> 
     <input type="text" ng-model="item.name" placeholder="Enter Task Here"> 
     </label> 
     <button class="button ion-ios-plus-outline" ng-click="addItem(item)"> 

     </button> 
    </div> 

    <ion-list> 
     <ion-item class="item-remove-animate" ng-repeat="item in items" > 
     <h3>{{item.name}}</h3> 
     <ion-option-button class="button-assertive ion-trash-a" ng-click="remove($index)"></ion-option-button> 
     </ion-item> 
    </ion-list> 


    </ion-content> 
</ion-view> 

はコントローラー:NG-繰り返し使用するために

.controller('ShortTermCtrl', function($scope, Task) { 

    $scope.data = Task.data; 


    $scope.items = []; 
    $scope.item = {}; 

    $scope.addItem = function (item) { 
    $scope.items.push(item); 
    $scope.item = {name: ""}; 

    }; 

    $scope.removeItem = function(index){ 
    $scope.items.splice(index, 1); 
    }; 


}) 
+1

変更関数名をremove' 'からremoveItem''へ。 – alexmac

+0

ありがとう!それはうまくいきました。問題は、私がコードを見ていたので、私はそれを見ていませんでした!ありがとう –

+0

あなたのコメントを回答に変更したいので、私はそれを他人に見せるための解決/回答としてマークすることができますか? –

答えて

2

誤った関数名を使用しています。 removeremoveItemから、それを変更します。

<ion-option-button class="button-assertive ion-trash-a" ng-click="removeItem($index)"></ion-option-button> 
+0

ここに私のコードを追加して削除する機能があります:http://chat.stackoverflow.com/rooms/88039/discussion-between-mudasser-ajaz-and-rredcatと@Alexander Manは私の間違いを指摘しました。間違ったhtmlファイルにmy関数を指定しました。ありがとうございました。 –

1

ng-repeat='(index, item) in items' 

すべてのアイテムのインデックスを追跡し、にインデックスを渡します機能を削除する

ng-click="removeItem({{index}})" 
0

あなたcodexampleごとに、あなたは、remove(タスク)関数をコメントアウトしたように、あなたのHTMLに

​​

をremoveItem(インデックス)機能をターゲットにする必要がある代わりに、静的なインデックス番号の、アイテムを提供/一般的な機能に、インデックス自体、そのようにように、その配列項目を削除します。

$scope.removeItem = function(items, index){ 
    items.splice(index, 1); 
}; 

あなたのHTMLがそうのようになります。

<ion-option-button class="button-assertive ion-trash-a" ng-click="removeItem(items, $index)"> 

$インデックスは他の有用なプロパティの中でng-repeatスコープに自動的に公開されます.ng-repeatのドキュメントで詳細を読むことができます。https://docs.angularjs.org/api/ng/directive/ngRepeat

関連する問題