2014-09-02 65 views
1

我試圖設置角度和angularfire的路由,但我有麻煩。使用與Angular.js路由時404錯誤

var app = angular.module('sampleApp', ['ngRoute', 'firebase', 'ui.bootstrap']); 

app.config(function ($routeProvider) { 
    $routeProvider 
     .when('/', { 
     templateUrl: 'index.html', 
     controller: 'SampleCtrl' 
     }) 
     .when('/login', { 
     templateUrl: 'views/login.html', 
     controller: 'LoginCtrl' 
     }) 
     .otherwise({ 
     redirectTo: '/' 
     }); 

    }); 

app.controller('LoginCtrl', function($scope, $firebase){ 
    console.log('LoginCtrl') 
}) 

,當我試着打本地主機:8000 /登錄我收到以下錯誤消息

Error code explanation: 404 = Nothing matches the given URI. 

我怎樣才能建立與ngRoute和AngularFire簡單的路線?

回答

5

使用默認路由器時,您需要在url中使用散列。

localhost:8000/#/login 

如果你想刪除散列,那是另一回事。

您需要使用$locationProvider並將html5Mode()設置爲true。從那裏您將不得不停止使用$window.location.href更改路線並使用$location.path()

然後,你必須得到一個服務器或使用像Firebase Hosting支持URL rewrites服務。

+2

這個材料包含在Angular.js教程中。在挖掘AngularFire之前,這是一個很好的入門指導(即Firebase + Angular) – Kato 2014-09-02 05:58:09