我是一种新的AngularJS框架,我想使用标准的路由器使用UI路由器迁移我的测试项目,但我得到了以下错误:角UI路由器,控制器是不确定的
Error: [ng:areq] Argument 'mainCtrl' is not a function, got undefined
我迄今所做的是:
控制器:
// mainCtrl.js
angular.module("sm-web")
.controller('mainCtrl',['$scope',
function($scope) {
...
}]);
路由器:
angular.module('sm-web', ['ui.router'])
.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('root');
$stateProvider
.state('root', {
url: '',
templateUrl: path + 'ng/sm/view/main.html',
controller: 'mainCtrl'
});
}]);
指数:
<body ng-controller="mainCtrl">
<main-menu></main-menu>
<div class="container">
<div ui-view></div>
</div>
</body>
这工作时,我使用了标准的路由器,但不与UI路由器。有没有人知道我做错了什么?
在你的控制器中放置一个'''在'$ scope'之后 – Lauromine
无需编写'ng-controller =“mainCtrl”'你已经将'mainCtrl'绑定到'ng/sm/view/main.html'模板中你的路由器。 –
['otherwise'](https://github.com/angular-ui/ui-router/wiki/URL-Routing#otherwise-for-invalid-routes)方法接收一个url,而不是一个状态。我不确定它是否存在你的问题,但试试看。 – gfpacheco