了解控制器和模块 angularJs



我在app.js中有这段代码,工作正常。我想将每个控制器放在不同的文件中,但如果将控制器放在其他文件中。我收到了消息:参数"visorController"不是一个函数,未定义

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");
});

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

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

由于两者都属于同一模块,因此您必须使用 getter 来获取前一个模块。

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

最新更新