我正在尝试使用angular和angularfire设置路由,但遇到了麻烦。
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')
})
当我尝试命中localhost:8000 / login时出现以下错误消息
Error code explanation: 404 = Nothing matches the given URI.
如何使用ngRoute和AngularFire设置简单路线?
答案 0 :(得分:5)
使用默认路由器时,您需要在网址中使用哈希值。
localhost:8000/#/login
如果你想删除哈希,那就是另一个故事。
您需要使用$locationProvider
并将html5Mode()
设置为true。从那里开始,您必须停止使用$window.location.href
来更改路线并使用$location.path()
。
然后,您必须获得服务器或使用支持Firebase Hosting的URL rewrites服务。
答案 1 :(得分:0)
在这里播放$ location(参见“测试输出”部分,这有助于我了解$ route),希望这会有所帮助。