我期待在Stackoverflow上看到这个问题,但是没有。显然,我是唯一出现此问题的人,在我看来这很普遍。
我正在执行一个基本项目,但是即使到目前为止我所做的一切似乎都是正确的,但路线似乎也不起作用。
我的文件中有这段html index.html:
index.html
<html> <head ng-app="myApp"> <title>New project</title> <script src="https://code.angularjs.org/1.6.0/angular.min.js"></script> <script src="https://code.angularjs.org/1.6.0/angular-route.min.js"></script> <script src="app.js"></script> </head> <body> <a href="#/add-quote">Add Quote</a> <div ng-view ></div> </body> </html>
这是我的app.js:
app.js
var app = angular.module('myApp', ['ngRoute']); app.config(['$routeProvider', function ($routeProvider) { $routeProvider .when('/add-quote', { templateUrl: 'views/add_quote.html', controller: 'QuoteCtrl' }) .otherwise({ redirectTo: '/' }); }]);
现在,当我刚访问页面时,这就是我从URL中获得的内容:
http:// localhost:8000 / admin#!/
当我单击Add quote按钮时,得到以下信息:
Add quote
http:// localhost:8000 / admin#!/#%2Fadd- quote
这可能是什么问题?感谢帮助
只需#!在href中使用hashbang :
#!
<a href="#!/add-quote">Add Quote</a>
由于aa077e8,用于$ location hash-bang URL的默认哈希前缀已从空字符串('')更改为bang('!')。
''
'!'
如果您实际上不希望使用哈希前缀,则可以通过向应用程序中添加配置块来恢复以前的行为:
appModule.config(['$locationProvider', function($locationProvider) { $locationProvider.hashPrefix(''); }]);
有关更多信息,请参见
抱歉让我骑着马,但是…这是怎么被释放的? 这是一个巨大的,破坏性的错误。— @MiloTheGreat
由于参考规范已经正式弃用,因此应恢复由#14202引起的重大更改#15715 我将关闭此问题,因为我们没有任何反馈。 如果您可以提供新的反馈意见,请随时重新打开此问题。 — https://github.com/angular/angular.js/issues/15715#issuecomment-281785369
由于参考规范已经正式弃用,因此应恢复由#14202引起的重大更改#15715
我将关闭此问题,因为我们没有任何反馈。 如果您可以提供新的反馈意见,请随时重新打开此问题。
— https://github.com/angular/angular.js/issues/15715#issuecomment-281785369