2017-06-05 58 views
0

我下面就如何貫徹落實$ ionicModel

http://ionicframework.com/docs/v1/api/service/ $ ionicModal/

但是,我得到了錯誤的文檔:

TypeError: Cannot read property 'fromTemplateUrl' of undefined

我的控制器:

.controller('barCtrl', ['$scope', '$stateParams', '$ionicHistory', '$rootScope', '$ionicModal', 
function ($scope, $stateParams, $ionicHistory, $rootScope, $cordovaInAppBrowser, $ionicModal) { 
    /* Modal */ 
    $ionicModal.fromTemplateUrl('/templates/bar.html', { 
     scope: $scope, 
     animation: 'slide-in-up' 
    }).then(function (modal) { 
     $scope.modal = modal; 
    }); 
    $scope.openModal = function() { 
     $scope.modal.show(); 
    }; 
    $scope.closeModal = function() { 
     $scope.modal.hide(); 
    }; 
    // Cleanup the modal when we're done with it! 
    $scope.$on('$destroy', function() { 
     $scope.modal.remove(); 
    }); 
    // Execute action on hide modal 
    $scope.$on('modal.hidden', function() { 
     // Execute action 
    }); 
    // Execute action on remove modal 
    $scope.$on('modal.removed', function() { 
     // Execute action 
    }); 

}]) 

模板:

<script id="bar.html" type="text/ng-template"> 
     <ion-modal-view> 
      <ion-header-bar> 
       <h1 class="title">My Modal title</h1> 
      </ion-header-bar> 
      <ion-content> 
       Hello! 
      </ion-content> 
     </ion-modal-view> 
    </script> 

回答

3

您的訂單是錯誤的依賴關係。

更改此

.controller('barCtrl', ['$scope', '$stateParams', '$ionicHistory', '$rootScope', '$ionicModal', 
function ($scope, $stateParams, $ionicHistory, $rootScope, $cordovaInAppBrowser, $ionicModal) 

.controller('barCtrl', ['$scope', '$stateParams', '$ionicHistory', '$rootScope', '$ionicModal', 
    function ($scope, $stateParams, $ionicHistory, $rootScope, $ionicModal) 
+0

帕雷什加米,感謝您的輸入。我不明白這個改變。爲什麼要將barCtrl更改爲AppCtrl?爲什麼要刪除cordovaInAppBrowser?由於 – Lernas

+1

嘿@Lernas,帕雷什只是做一個例子在這裏。你可以用自己的CTRL去,但只要記住,你必須注入以相同的順序依賴關係,無論是在你的陣列,然後在匿名函數! – DevMoutarde

+0

這只是例子,但改名爲控制器名稱。您添加cordovaInAppBrowser,但請按順序添加。 –