2014-09-03 42 views
1

我是angular.js的新手。而我用了$ httpProvider和$ locationProvider

<script src="lib/angular/angular.min.js"></script> 
    <script src="lib/angular/angular-route.min.js"></script> 
    <script src="lib/angular/angular-cookies.min.js"></script> 
angular.module('myApp', [ 
    'ngRoute','ngCookies' 
]).config(['$routeProvider' , '$locationProvider', '$httpProvider' ,function($routeProvider) { 
    $httpProvider.defaults.timeout = 5000; // error 
    $locationProvider.html5Mode(true); // error 
}]) 
當應用程序運行時,它推出了一個錯誤

:未捕獲的錯誤:[$注射器:modulerr] http://errors.angularjs.org/1.3.0-beta.2/ $噴油器/ modulerr P0 = MyApp來& P1 =參考/localhost/lib/angular/angular.min.js)

我的angular-min.js,angular-route.js,angular-cookie.js都在1.3.0 beta.2中,不知道爲什麼它正在發生?

回答

3

我認爲你忘了添加$locationProvider$httpProvider作爲我們的配置功能的參數。

試試這個:

<script src="lib/angular/angular.min.js"></script> 
    <script src="lib/angular/angular-route.min.js"></script> 
    <script src="lib/angular/angular-cookies.min.js"></script> 
    angular.module('myApp', [ 
    'ngRoute','ngCookies' 
    ]). 
    config(['$routeProvider' , '$locationProvider', '$httpProvider', 
    function($routeProvider, $locationProvider, $httpProvider) { 
    $httpProvider.defaults.timeout = 5000; 
    $locationProvider.html5Mode(true); 
    }]) 
0

中的字符串您的回調函數前添加(在配置,控制器或指令)都在這裏您JS的微小的情況下,允許角匹配縮小的變量及其意義。

因此,你應該添加你需要的參數變量:

angular.module('myApp', [ 
    'ngRoute','ngCookies' 
]).config(
['$routeProvider' , '$locationProvider', '$httpProvider', 
function($routeProvider, $locationProvider, $httpProvider) { 
    $httpProvider.defaults.timeout = 5000; 
    $locationProvider.html5Mode(true); 
}]) 
1

你忘了注入$locationProvider$httpProvider作爲參數。

var app = angular.module('myApp', ['ngRoute','ngCookies']); 

app.config(['$routeProvider' , '$locationProvider', '$httpProvider', function ($routeProvider, $locationProvider, $httpProvider) { 
     $httpProvider.defaults.timeout = 5000; // error 
     $locationProvider.html5Mode(true); // error 
}]); 
0

首先,你應該添加以下腳本:

<script src="lib/angular/angular.min.js"></script> 
<script src="lib/angular/angular-route.min.js"></script> 
<script src="lib/angular/angular-cookies.min.js"></script> 

那麼你應該配置:

var app = angular.module('myApp', ['ngRoute','ngCookies']); 

app.config(['$routeProvider' , '$locationProvider', '$httpProvider', function ($routeProvider, $locationProvider, $httpProvider) { 
     $httpProvider.defaults.timeout = 5000; 
     $locationProvider.html5Mode(true); 
}]); 

注意:爲了避免錯誤:[$位置:nobase將] $位置在HTML5模式下需要標籤才能出現!)不要忘記添加:

<head> 
... 
... 
<base href="/"> 
... 
</head>