2016-08-25 1 views
8

Ionic + Angularアプリケーションでモーダルを開く簡単なボタンを持つビューがあります。そして、ボタンの後に正しく表示されモーダルテンプレートがクリックされた:イオンモーダルからの関数呼び出しの後に乱されたパラメータ

<ion-modal-view> 
    <ion-header-bar> 
    <h1 class="title">Popular tags</h1> 
    <div class="buttons"> 
     <button class="button button-clear button-stable" ng-click="closePopularForm()">Close</button> 
    </div> 
    </ion-header-bar> 
    <ion-content> 
     <div class="list"> 
     <div class="item-divider text-center"> 
      Select a tag to follow. 
     </div> 
     <label class="item"> 
     <button class="button button-balanced" ng-click="addPopularTag('china')">China</button> 
      <button class="button button-balanced" ng-click="addPopularTag('uk')">United Kingdom</button> 
      <button class="button button-balanced" ng-click="addPopularTag('us')">United States</button> 
     </label> 
     </div> 
    </ion-content> 
</ion-modal-view> 

あなたがそれぞれ同じ関数を呼び出すが、異なるパラメータを使用して、モーダルは3つのボタンが含まれて見ることができるように。

app.controller('HomeCtrl', function($scope, $ionicSideMenuDelegate, $ionicModal) { 

    $ionicModal.fromTemplateUrl('add-popular.html', { scope: $scope }).then(function(modal) { 
     $scope.modalPopular = modal; 
    }); 

    $scope.closePopularForm = function() { 
     $scope.modalPopular.hide(); 
    }; 

    $scope.openPopularForm = function() { 
     $scope.modalPopular.show(); 
    }; 

    $scope.addPopularTag = function(poptag) { 
     console.log(poptag); 
     console.log('pop form submited '+poptag); 
    }; 
}); 

問題がモーダルでクリックされたいずれかのボタン、機能addPopularTagが(この場合chinaある)最初のボタンのパラメータで呼び出されることである:私は関数を含むこのコントローラを有しています。私は、ボタンのhtmlソースをチェックして、異なるパラメータで正しくレンダリングされます。

Here is a reproduction of the issue in Codepen. コンソールで確認できます。

答えて

2

私はこの作品

+0

のにラベルが何をするか分からない

<button class="button button-balanced" ng-click="addPopularTag('china')">China</button> <button class="button button-balanced" ng-click="addPopularTag('uk')">United Kingdom</button> <button class="button button-balanced" ng-click="addPopularTag('us')">United States</button> 

<label class="item"> <button class="button button-balanced" ng-click="addPopularTag('china')">China</button> <button class="button button-balanced" ng-click="addPopularTag('uk')">United Kingdom</button> <button class="button button-balanced" ng-click="addPopularTag('us')">United States</button> </label> 

を交換してください。ありがとう。しかし、私はまだラベルタグが関数呼び出しを混乱させる理由を理解していません。 – neptune

+0

私は '

関連する問題