Angularjs 无法在$stateProvider.state中使用contrller

Angularjs 无法在$stateProvider.state中使用contrller,angularjs,angular-ui-router,angularjs-routing,Angularjs,Angular Ui Router,Angularjs Routing,app.js: var testRoute= angular.module('testRoute', ['ui.router']); testRoute.config(function ($stateProvider, $urlRouterProvider) { $urlRouterProvider.otherwise('/home'); $stateProvider .state('home', { url: '/home',

app.js:

var testRoute= angular.module('testRoute', ['ui.router']);

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

    $urlRouterProvider.otherwise('/home');

    $stateProvider

        .state('home', {
            url: '/home',
            templateUrl: 'home/partial-home.html',
            controller: 'myController'
        })

        .state('about', {
            url: '/about',
            templateUrl: 'about/partial-about.html'
        });

});

我已经定义了一个控制器就绪,我想在每个状态下使用该控制器,但它不工作,我得到了一条错误消息。如何使用控制器?

您需要将myController注册为控制器,而不仅仅是将其作为功能。因此,如果你有:

function myController($scope) {
  ...
}
你需要说:

testRoute.controller('myController', myController);
或者你也可以简单的内联操作

testRoute.controller('myController', function($scope) {
   ...
});
请检查这个


请告诉您得到的错误..我得到了错误:参数'myController'不是。我不知道为什么。所以到目前为止你还没有在你的应用程序中创建“myController”方法?我已经在我的应用程序中创建了一个“myController”方法ready in controller,并将其命名为“myController”。是的,我已经在myController.js中注册了控制器ready,我想在状态下使用此控制器,但我不能。谢谢你给我演示
var testRoute= angular.module('testRoute', ['ui.router']);

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

    $urlRouterProvider.otherwise('/home');

    $stateProvider.state('home', {
            url: '/home',
            templateUrl: 'home.html',
            controller: 'myController'
        })

    $stateProvider.state('about', {
            url: '/about',
            templateUrl: 'about/partial-about.html'
        });

});

var myController = function($scope){
 alert("hello world!");
}

testRoute.controller('myController', myController);