我的目标是让我页面上的一个链接重定向到我网站上的另一个页面。
以下是我的index.html页面上的两个链接之一:
<html ng-app="myApp">
.
.
.
<body>
<h1>My Home Page</h1>
<div>
<a href="login/google" class="button">Sign in with Google</a>
<a href="login/facebook" class="button">Sign in with Facebook</a>
</div>
<div ng-view></div>
<hr/>
点击“使用Facebook登录”链接时。它重定向到另一个页面。我通过使用下面给出的'routeProvider'设置了这个。这也是一个名为'routes.js'的文件。 现在的问题是,当点击它时,页面会打开,但会显示404错误。控制台说有“找不到文件:/ login / facebook /”
'use strict';
myApp.config("$routeProviders", function($routeProvider) {
$routeProvider
.when('login/google', {
})
.when("login/facebook", {
templateUrl: '/partials/login/facebook_login.html',
controller: 'FacebookLoginCtrl'
})
.otherwise({
redirectTo: '/'
});
});
在我的'/ partials / login'目录下的facebook.html页面内:
<h1>{{name}}</h1>
<button ng-click="FBLogin()">Facebook Login</button>
以及名为sign_in_controllers.js的文件中的FacebookLoginCtrl:
'use strict';
myApp.controller('FacebookLoginCtrl', ["$scope", function($scope) {
$scope.name = 'Login please';
}]);
这也是我的app.js文件:
var myApp = angular.module('myApp', ['ui.bootstrap', 'ngRoute']);
当我确实有一个位于'/ partials / login /'
内的文件时,我真的不明白为什么我收到no file found错误答案 0 :(得分:1)
默认情况下,角度路由器在应用程序中使用基于散列的路径。
除非您使用html5mode并配置服务器,否则您需要在链接href
中包含哈希
<a href="#/login/google" class="button">Sign in with Google</a>
<a href="#/login/facebook" class="button">Sign in with Facebook</a>