如何将控制器源从app.js移动到角度项目

时间:2015-11-04 10:36:14

标签: javascript angularjs

我需要帮助将控制器从app.js移动到所需的文件夹。 我的文件夹结构看起来像blw

---app
   --home
     --home.html
     --homecontroller.js
   --about
   --contact
   --app.html
   --app.js
---asset
---index.html

我将控制器源保存在app.js.但我计划将特定控制器移动到相应的根文件夹中。可以说我在app.js中有家庭控制器代码。现在我想将它移动到homecontroller.js,它放在主文件夹中。我试过了。但它对我不起作用。然而,当我在app.js中保留它时,它的工作原理。 你能帮我把它移到想要的根目录吗?

我的app.js是

var app = angular.module('TrailApp', ['ui.router'])

app.config(function($stateProvider, $urlRouterProvider) {

    $urlRouterProvider.otherwise('/home/part1');
    $stateProvider

        .state('base', {
          abstract: true,
          url: '',
          templateUrl: 'app/app.html'
        })

        .state('home', {
          url: '/home',
          parent: 'base',
          templateUrl: 'app/home/home.html',
          controller: 'homectrl'
        })
           .state('home.part1', {
              url: '/part1',
              templateUrl: 'app/home/part1.html',
              //controller: 'homectrl'
            })
            .state('home.part2', {
              url: '/part2',
              templateUrl: 'app/home/part2.html',
              //controller: 'homectrl'
            })
        .state('about', {
          url: '/about',
          parent: 'base',
          templateUrl: 'app/about/about.html',
          //controller: 'aboutctrl'
        })


  });

 //This below code should be moved to homecontroller.js 
app.controller('homectrl', ['$scope', '$location', '$rootScope',
  function($scope, $location, $rootScope) {

      $scope.custom = false;
      $scope.actionBtn = function(event) {
            $scope.custom = true;   
      };

  }
]);

2 个答案:

答案 0 :(得分:0)

您可以得到答案here

在homecontroller.js

angular.module('TrailApp').controller('homectrl', ['$scope', '$location', '$rootScope',
  function($scope, $location, $rootScope) {

      $scope.custom = false;
      $scope.actionBtn = function(event) {
            $scope.custom = true;   
      };

  }
]);

答案 1 :(得分:0)

您必须在app.js中注入该控制器模块。像

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

这是您在其他文件夹中的controller.js

var controllers = angular.module('controllers', []);