设置角度路线

时间:2017-02-11 01:32:12

标签: angularjs routes

设置角度应用程序的方法有很多种。我选了一个,但我现在无法设置路线。

的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)

代码工作直到我添加了路由。因此,我的代码中其他地方不太可能出现这种情况。

我错过了什么?

1 个答案:

答案 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脚本导入。