2016-05-20 10 views
2

こんにちは、私はモーダルを開こうとしています。物事は、私は$ ionicmodalと別のモーダルをバインドしようとしていますが、以前のものを開いている今私はテンプレートとpaleviously私のモーダルをバインドしているです。誰かがそれは私がモーダルがAPPCtrlイオンモーダルが前のモーダルを開く

angular.module('starter.controllers', []) 

.controller('AppCtrl', function($scope, $ionicModal, $timeout) { 

    // With the new view caching in Ionic, Controllers are only called 
    // when they are recreated or on app start, instead of every page change. 
    // To listen for when this page is active (for example, to refresh data), 
    // listen for the $ionicView.enter event: 
    //$scope.$on('$ionicView.enter', function(e) { 
    //}); 

    // Form data for the login modal 
    $scope.action = { 
    // name:'', 
    // date: '', 
    // type:'' 
    }; 

    $scope.placeholder="01/01/2016"; 

    // Create the login modal that we will use later 
    $ionicModal.fromTemplateUrl('templates/addAction.html', { 
    scope: $scope 
    }).then(function(modal) { 
    $scope.modal = modal; 
    }); 

    // Triggered in the login modal to close it 
    $scope.closeActionModal = function() { 
    console.log('hello'); 
    $scope.modal.hide(); 
    }; 

    // Open the login modal 
    $scope.openAddActionModel = function() { 
    $scope.modal.show(); 
    $('#action_datePicker').val(new Date()); 
    }; 

    // $scope.abc = function(){ 
    // console.log('asdavshahs'); 
    // alert('Hello'); 
    // } 


    // Perform the login action when the user submits the login form 
    $scope.saveData = function() { 
    console.log('Doing login', $scope.action); 

    // Simulate a login delay. Remove this and replace with your login 
    // code if using a login system 
    $timeout(function() { 
     $scope.closeActionModal(); 
    }, 1000); 
    }; 
}) 

にバインドされている

間違っまずやってる今、私はショーのリストのユーザーにこっちモーダルをバインドするトリングだということが何であるかを教えてもらえますそれが表示される前のもの

.controller('optionActionCtrl' , function($scope, $timeout , $http , $ionicModal){ 



    $scope.closeActionModal = function() { 
    console.log('hello'); 
    $scope.modal.hide(); 
    }; 

    // Open the login modal 
    $scope.openAddActionModel = function() { 
    $scope.modal.show(); 
    // $('#action_datePicker').val(new Date()); 
    }; 

    $scope.showListOfUser = function(){ 
    //call made to the server 
    //bind the modal to get it open 
    $ionicModal.fromTemplateUrl('templates/showUsers.html', { 
     scope: $scope 
    }).then(function(modal) { 
     debugger; 
     $scope.modal = modal; 
    }); 
    $scope.modal.show(); 
    // add all the users 
    $scope.users = ['a' , 'b' , 'c' , 'd']; 
    }; 
}) 

私がやっていること、それを何であるかを教えてください間違っ

UPDATE

今、私は状態を開き、問題は、私はすべてのHTMLがレンダリングされているというし、ユーザーを見ることができないんだけどあるbbutいくつかのデータを参照しようとしています。ここに私のビューのためのコードです:

<ion-view view-title="ShowUserList"> 
    <ion-content> 
    <!-- <ion-checkbox ng-model='checkStatus1' ng-click="showAlert(checkStatus1)"> 
     <h2 class="ng-binding">{{tittle}}</h2> 
     <span class="distance ng-binding"></span> 
     <h3 class="ng-binding">Created : {{created}}</h3> 
     <h3 class="ng-binding">Target : {{targetD}}</h3> 
    </ion-checkbox> --> 

    <ion-list> 
     <ion-item collection-repeat="user in users"> 
     Hello, {{user}}! 
     </ion-item> 
    </ion-list> 


    </ion-content> 

と私はあなたのoptionActionCtrlコントローラを修正コントローラを少し

.controller('optionActionCtrl' , function($scope, $timeout , $http , $ionicModal , $state){ 
    // Triggered in the login modal to close it 

    $scope.users = []; 

    $scope.closeActionModal = function() { 
    console.log('hello'); 
    $scope.modal.hide(); 
    }; 

    // Open the login modal 
    $scope.openAddActionModel = function() { 
    $scope.modal.show(); 
    // $('#action_datePicker').val(new Date()); 
    }; 

    $scope.showListOfUser = function(){ 
    debugger; 
    // add all the users 
    $scope.users = ['a' , 'b' , 'c' , 'd']; 

    $state.go('app.UserListForAssigned') 
    }; 
}) 
+0

新しいモデールが実際に作成される前に '$ scope.modal.show()'が呼び出されます。 'fromTemplateUrl'関数のコールバックの中に' $ scope.modal.show() 'を入れてください。 – Eric

答えて

2

を変更しました。コールバックの中に$scope.modal.show()を入れてください。

.controller('optionActionCtrl' , function($scope, $timeout , $http , $ionicModal){ 
    $scope.closeActionModal = function() { 
     console.log('hello'); 
     $scope.modal.hide(); 
    }; 

    $scope.openAddActionModel = function() { 
     $scope.modal.show(); 
    }; 

    $scope.showListOfUser = function() { 
     $ionicModal.fromTemplateUrl('templates/showUsers.html', { 
      scope: $scope 
     }).then(function(modal) { 
      $scope.modal = modal; 
      $scope.modal.show(); // Moved inside the callback 
      $scope.users = ['a' , 'b' , 'c' , 'd']; // I assume this is relevant to your modal 
     }); 
    }; 
}) 
+0

ありがとうございました。私は別のことを知りたいです。それはモーダルを表示するのではなく、このモーダルに入るときに別のビューを表示したいと思っています。私が直面している問題は、私が '$ scope.users'で送信しているデータを見ることができないということです。 –

+0

@ J.Doe投票してこの回答を受け入れ、別の記事を投稿すれば、そこにお手伝いします。私はこれらが2つの別々の質問だと考えています。 – Eric

+0

@ J.Doeまた、 'templates/showUsers.html'の内容を投稿します。 – Eric

関連する問題