2017-02-11 150 views
0

有很多方法來設置角度應用程序。我選擇了一個,但現在我無法獲得設置的路線。設置角度路線

的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' } 
       }) 
     }]); 
})(); 

我是getti納克注射錯誤,這麼清楚我錯過了一些東西:

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

請在此行後面提供日誌'由於: – Sangharsh

回答

0

您正在使用來自ui-router模塊的$stateProvider導入ngRoute模塊。你應該真正使用其中一種,但肯定不是兩種。

var myApp = angular.module('myApp', ["ngRoute", "ui.bootstrap"]); 

應該是:

var myApp = angular.module('myApp', ["ui.router", "ui.bootstrap"]); 

請確保您還包括在您的index.html一個angular-ui-router.js腳本導入app.js腳本導入之前。

+0

沒有實例化模塊myApp,確定這似乎沒有區別。 – DaveC426913

+1

你是否包含'ui-router'的腳本導入? –

+1

我放棄了我的文件夾中的angular-ui-router.js並對其進行了引用。我一定是把它放在了錯誤的地方。很難調試。 – DaveC426913