【问题标题】:understanding controllers and modules angularJs [duplicate]了解控制器和模块angularJs [重复]
【发布时间】:2015-04-16 14:19:40
【问题描述】:

我在 app.js 中有这段代码,并且工作正常。我想将每个控制器放在不同的文件中,但如果将控制器放在其他文件中。我收到了消息:Argument 'visorController' is not a function, got undefined

angular.module('appVisorMapa', [
    'ngCookies',    // Cookies
    'ui.bootstrap', // AngularUI Botstrap
    'ui.router',    // Routing
    'ngRoute'       // Routing
])

.config(function($stateProvider, $urlRouterProvider) {
    $urlRouterProvider.otherwise("/login");
    $stateProvider
    .state("/login", {
        url: "/login",
        templateUrl: "views/login.html",
        controller: "loginCtrl"
    })
    .state("/dashboard", {
        url: "/dashboard",
        templateUrl: "views/dashboard.html",
        controller: "visorController"
    })
})

.controller('visorController', function($scope) {
    console.log("controller it's Ok");
})

这是我将控制器放在其他文件中的方式。我知道这是错误的,但我不明白如何声明它。我介意我为什么需要制作一个新模块?

angular.module('visor',[])

.controller('visorController', function($scope) {
    console.log("controller it's Ok");
});

我将新文件添加到我的 index.html 但不起作用。 我不明白如何在单独的文件中声明控制器。为什么不认识我的控制器或制作它的正确方法是什么。 我对 angujarJs 如何组织模块和控制器感到困惑。
提前致谢。

【问题讨论】:

    标签: angularjs angular-ui-router


    【解决方案1】:

    在这两个文件中,您使用了两个不同的模块名称 angular.module('visor',[])angular.module('appVisorMapa', [])

    由于都属于同一个模块,所以必须使用getter来获取上一个模块。

    angular.module('appVisorMapa')
    
    .controller('visorController', function($scope) {
        console.log("controller it's Ok");
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-01
      相关资源
      最近更新 更多