我试图让列表中的每个项目都有一个使用$ routeProvider路由到模板的按钮。但是,当我点击链接时,我会继续获得404s(它会转到正确的地址,但不会加载页面)。任何有关使此代码工作的帮助都将非常感激:
angular.module('tipOutput', ['firebase', 'filters'])
.controller('Tips', ['$scope', 'angularFire',
function ($scope, angularFire) {
var ref = new Firebase('https://sitename.firebaseio.com/tips');
angularFire(ref, $scope, "tips");
}])
//routing to secondary pages
.config(['$routeProvider', function($routeProvider, $locationProvider) {
$routeProvider.
when('/tips/:tipId', {template: 'partials/tip-detail.html', controller: 'Tips'}).
otherwise({redirectTo: '/'});
}])
并且,如果它有帮助,这是我的模板的代码:
<html ng-app="TipOutput">
<body>
<div ng-view></div>
<script type="text/javascript" src="http://static.firebase.com/v0/firebase.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular-resource.min.js"></script>
<script src="https://cdn.firebase.com/libs/angularfire/0.3.0/angularfire.min.js"></script>
<script type='text/javascript' src='https://cdn.firebase.com/v0/firebase-simple-login.js'></script>
<script src="js/app.js"></script>
</body>
</html>
答案 0 :(得分:0)
单页应用中的路由实际上是虚拟路由。网络服务器软件如何知道如何处理该网址?您正在做什么将此网址映射到为您的应用提供服务的html文件?我怀疑你可能需要设置你的httpd,以便它了解正在发生的事情。