当前位置: 首页 > 面试题库 >

angularjs 1.6.0(现在最新)路由不起作用

郦昆
2023-03-14
问题内容

我期待在Stackoverflow上看到这个问题,但是没有。显然,我是唯一出现此问题的人,在我看来这很普遍。

我正在执行一个基本项目,但是即使到目前为止我所做的一切似乎都是正确的,但路线似乎也不起作用。

我的文件中有这段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

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按钮时,得到以下信息:

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('');
}]);

有关更多信息,请参见

  • AngularJS GitHub Pull#14202将默认hashPrefix更改为’!’
  • AngularJS指南-迁移-aa0077e8

抱歉让我骑着马,但是…这是怎么被释放的? 这是一个巨大的,破坏性的错误。—
@MiloTheGreat

由于参考规范已经正式弃用,因此应恢复由#14202引起的重大更改#15715

我将关闭此问题,因为我们没有任何反馈。 如果您可以提供新的反馈意见,请随时重新打开此问题。


https://github.com/angular/angular.js/issues/15715#issuecomment-281785369



 类似资料:
  • 由于以下错误(npm 3.10.10,webpack 3.8.1),我无法使用vue routes get。如何解决这个问题 编译失败。 ./node_modules/babel loader/lib/node_modules/vue loader/lib/selector.js?type=script 我使用简单的网页包 Quotes.vue Quote.vue new-quote.vue Ap

  • 我使用的是Spring-Cloud的配置服务器。我希望刷新应用程序的配置,而不必重新启动它。 这是我的场景: 1)application.yml中的单个配置,存储在git中 5)运行刷新 在对controller的rest调用中,一切正常,配置被更新。 但是在对集成流的rest调用中,配置没有更新:

  • 问题内容: 我已经按照教程在我的应用程序中实现了路由 http://docs.angularjs.org/tutorial/step_07 我无法在IE7中使用我的版本,花了一段时间尝试找出我错过/做错的事情后,我注意到该示例不起作用。 http://angular.github.com/angular- phonecat/step-7/app/ 有人知道如何使它工作吗? 问题答案: 好的,我遇到

  • 我刚刚开始学习laravel,我正在使用MAMP。我在这个url上有一个表单:http://localhost:8888/laravel-site/my new app/public/ducks但当我提交表单时,它会将我带到此url:http://localhost:8888/ducks不会停留在我期望的地方。 routes.php文件包含以下内容: 在我的生活中。htaccess文件我有这个:

  • 问题内容: 我对React还是比较陌生,我正在尝试弄清楚如何使React路由器正常工作。我有一个超级简单的测试应用程序,看起来像这样: 当我运行该应用程序时,home组件加载没有任何麻烦,并且当我单击“ Click Me”链接时,URL更改为localhost / about,但是什么也没有发生。如果单击刷新,则会显示“无法获取/关于”。显然我在做错事,但我一直无法弄清楚是什么。我也在使用Webp

  • 问题内容: 我的目标是让http:// mydomain / route1 渲染React组件Component1和http:// mydomain / route2 渲染Component2。因此,我认为编写如下的路由是很自然的: http:// mydomain / route1可以正常工作,但http:// mydomain / route2却呈现Component1。 然后,我阅读了此问题