我有 app.js 文件
angular.module('myApp', [
'myApp.version',
'ui.router'
]).
config(['$locationProvider','$urlRouterProvider','$stateProvider', function($locationProvider,$stateProvider, $urlRouterProvider, $httpProvider) {
$urlRouterProvider.otherwise('/view1');
$stateProvider
.state('view1', {
url: '/view1',
templateUrl: 'partials/view1.html'
//controller: 'view1.MainController'
})
.state('view2', {
url: '/view2',
templateUrl: 'partials/view2.html'
})
.state('view3', {
url: '/view3',
templateUrl: 'partials/view3.html'
})
.state('view4', {
url: '/view4',
templateUrl: 'partials/view4.html'
});
}]);
我已经在我的index.html文件中加入了“https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.3.1/angular-ui-router.min.js”CDN,并且它正在加载。
但即使加载控制台也会出现错误
由于以下原因导致无法实例化myApp模块: TypeError:$ urlRouterProvider.otherwise不是函数
我尝试删除此行,然后测试代码,但随后它给出了
由于以下原因导致无法实例化myApp模块: TypeError:$ stateProvider.state不是函数
我已多次查看代码,但我无法识别错误/错误。
(角度版本为1.5.8,angular-ui-router版本为0.3.1,如果有帮助的话)
请帮助!
答案 0 :(得分:2)
您反转了参数:urlRouterProvider和stateProvider。
错误的订单:
config(['$locationProvider', '$stateProvider', '$urlRouterProvider', function($locationProvider, $urlRouterProvider,$stateProvider, $httpProvider) {
正确的顺序:
config(['$locationProvider','$urlRouterProvider','$stateProvider', function($locationProvider, $urlRouterProvider,$stateProvider, $httpProvider) {
您使用该技术来避免缩小问题,但“stringed-names”的顺序必须与函数参数的顺序相同。
我敢打赌,你知道这一点,只是输入错误。