我的目标是将我页面上的一个链接重定向到我网站上的另一个页面。
这是我的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/”内的文件时却收到“找不到文件”错误
最佳答案
默认情况下, Angular 路由器在应用程序内使用基于哈希的路径。
除非您使用 html5 模式并配置服务器,否则您需要在链接 href
中包含哈希值
<a href="#/login/google" class="button">Sign in with Google</a>
<a href="#/login/facebook" class="button">Sign in with Facebook</a>
关于javascript - 使用 $redirectRoute 时不断出现 "No file found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35041474/