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'
});
});
我已经定义了一个控制器就绪,我想在每个状态下使用该控制器,但它不起作用,我收到了一条错误消息。我该如何使用控制器?
答案 0 :(得分:1)
您需要将myController注册为控制器,而不仅仅是将其作为一个函数。所以如果你有:
function myController($scope) {
...
}
你需要说:
testRoute.controller('myController', myController);
或者您也可以直接进行内联,
testRoute.controller('myController', function($scope) {
...
});
答案 1 :(得分:0)
请检查此demo
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);