设置角度应用程序的方法有很多种。我选了一个,但我现在无法设置路线。
的index.html:
<html ng-app="myApp">
<head>
...other files
<script src="js/app.js" type="text/javascript"></script>
<script src="js/routes.js" type="text/javascript"></script>
</head>
<body ng-controller="mainController">
...etc.
app.js
var myApp = angular.module('myApp', [ "ngRoute","ui.bootstrap" ]);
myApp.controller('mainController', ['$scope', function($scope) {
//etc.
}]);
这就是我通常使用函数包装器设置控制器的方法:
routes.js
(function() {
'use strict';
angular
.module('myApp')
.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/');
$stateProvider
.state('index', {
url: '/',
templateUrl: '../index.html',
controller: 'mainController',
controllerAs: 'mainVm',
data: { pageTitle: 'Main' }
})
}]);
})();
我收到注射错误,显然我错过了一些东西:
angular.js:38Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.5.8/$injector/modulerr?p0=myApp&p1=Error%…3A%2F%2Flocalhost%2FCanada%2Fplugins%2Fangular%2Fangular.min.js%3A21%3A179)
at angular.js:38
at angular.js:4640
at q (angular.js:321)
at g (angular.js:4601)
at cb (angular.js:4523)
at c (angular.js:1758)
at Bc (angular.js:1779)
at fe (angular.js:1664)
at angular.js:31763
at HTMLDocument.b (angular.js:3207)
代码工作直到我添加了路由。因此,我的代码中其他地方不太可能出现这种情况。
我错过了什么?
答案 0 :(得分:0)
您正在使用来自ngRoute
模块的$stateProvider
导入ui-router
模块。你应该真的使用其中一个,但肯定不是两个。
var myApp = angular.module('myApp', ["ngRoute", "ui.bootstrap"]);
应该是:
var myApp = angular.module('myApp', ["ui.router", "ui.bootstrap"]);
确保在导入angular-ui-router.js
脚本之前,还在index.html中添加了app.js
脚本导入。