簡體   English   中英

控制器在Ionic中的單獨文件中包含訂單

[英]Controllers in seperate files in Ionic and include order

我開始編寫一個Ionic應用程序並開始編寫我的視圖和控制器。 我想使用制表符布局。

為清楚起見,我想將控制器分成不同的文件。

我的控制器 - 文件夾:

  • controller.js
  • main.js
  • tabs.js

controller.js包含:

angular.module('myApp.controllers', []);

main.js包含:

angular.module('myApp.controllers', ['myApp.services','ionic'])
  .controller('MainCtrl', function ($scope) {
    $scope.name = "Test";
  });

tabs.js包含:

angular.module('myApp.controllers', ['myApp.services','ionic'])
  .controller('TabsCtrl', function ($scope) {

  });

在app.js中我指定了我的路線:

.state('tab', {
    url: '/tab',
    abstract: true,
    templateUrl: 'app/templates/tabs.html',
    controller: 'TabsCtrl'
  })


  .state('tab.main', {
    url: '/main',
    views: {
      'tab-main': {
        templateUrl: 'app/templates/main.html',
        controller: 'MainCtrl'
      }
    }
  })

最后在我的index.html中,我在標題中包含了所有使用過的文件:

    <script src="app/app.js"></script>
    <!-- Controller-Definition -->
    <script src="app/controller/controller.js"></script>
    <script src="app/controller/tabs.js"></script>
    <script src="app/controller/main.js"></script>

我的問題是在瀏覽器中我得到錯誤:

參數'TabsCtrl'不是函數,未定義

我不知道為什么它不起作用!

當我更改index.html文件中tabs.js和main.js的順序時,我得到:

參數'MainCtrl'不是函數,未定義

有人可以幫我解決這個問題嗎? 它可能是一個小而簡單的東西,但我不明白:-)

您在每個文件中覆蓋'myApp.controllers'模塊。 試試這個:controller.js:

angular.module('myApp.controllers', ['myApp.services','ionic']);

main.js:

angular.module('myApp.controllers')
  .controller('MainCtrl', function ($scope) {
    $scope.name = "Test";
  });

tabs.js

angular.module('myApp.controllers')
  .controller('TabsCtrl', function ($scope) {

  });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM