问题标签 [angular-routing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
rest - 在 URL 开头使用变量在 AngularJS 中路由
我遇到了一些我无法解释的行为,但我相信其他人可以。我正在像这样设置我的应用程序模块:
当我导航到 app.com/:campaignId 或 app.com/:campaignId/edit 时,一切正常,但如果我尝试 app.com/inbox(或其他任何内容),我会被重定向回 /dashboard。我在其他几个地方读过 URL 不能以变量开头,但我对这个概念很陌生(通常只是前端的设计方面)并且不明白为什么。
谢谢。
angularjs - AngularJS - 获取已定义路由的列表 - $routeProvider
我正在尝试实现named routes
,所以我不必编写整个路径(经常更改)。
我在想我可以写一个服务来返回定义的路由列表和一个将对象转换为路由的过滤器
使用示例如下所示:
如果我在路由定义中添加了 name:'detail',这将生成以下结果:
我认为这很简单,但是:
如何获取已定义路线的列表?
我在想我可以使用routeProvider
,但是 AFAIK 它没有我可以访问的公共方法或属性。
node.js - 为什么页面没有在 AngularJS+Express 中重定向
我正在制作一个由 Brian Ford 制作的带有 angular express 种子的演示站点(非常感谢),但是在编辑帖子后它不会重定向到列表 url。编辑操作做得很好,只是在点击提交按钮后没有重定向到列表页面。在 chrome 中,它显示处于永不结束的状态...我的代码如下:
角度控制器
快递应用
api.js
我做错了什么?提前致谢
angularjs - Angularjs在不同文件中路由
我正在检查角度路由。
我看到的示例将所有路由都定义在同一个文件中。如何在不同的文件/模块中定义各种路由?
angularjs - $routeProvider 不工作在角度
这是我的 app.js
和controllers.js
在我的 html 中,我将链接称为
当我单击此链接时,我被重定向回 /#/
我哪里错了?
angularjs - 使用 AngularJS HTML5 模式重新加载页面会给出错误的 GET 请求
我想为我的应用启用 HTML5 模式。我已将以下代码用于配置,如下所示:
如您所见,我使用了$locationProvider.html5mode
并更改了所有链接ng-href
以排除/#/
.
问题
目前,我可以去localhost:9000/
查看索引页面并导航到其他页面,例如localhost:9000/about
.
但是,当我刷新localhost:9000/about
页面时会出现问题。我得到以下输出:Cannot GET /about
如果我查看网络调用:
如果我先去localhost:9000/
然后点击导航到的按钮,/about
我会得到:
完美呈现页面。
刷新时如何启用角度以获取正确的页面?
javascript - 没有路由的 Angular 应用程序
我有一个需要能够动态添加指令/过滤器/服务/控制器的应用程序。我需要的功能类似于加载 Mac OS X Widget / Windows Gadget。据我所知,有 3 种方法可以做到这一点:
将它们包含在初始堆栈中——这对我来说是不现实的,因为堆栈太大了,我们可能会根据需要从远程位置提取这些功能
稍微修改一下,然后将它们添加到应用程序中——我有这个工作,但是当你必须重新编译时它很乱。动态加载 AngularJS 控制器的改编版本
引导另一个具有所有需要的功能的应用程序——这可能是最正确的方法......
现在,我坚持第三种选择。
这些异步添加的应用程序不需要路由。编写这些模块的最佳方法是什么,所以我不必配置 $routeProvider?我用什么代替 ng-view?
还是我必须坚持使用$routeProvider.otherwise()
?
谢谢,
最大限度。
angularjs - $location / html5 和 hashbang 模式切换 / 链接重写
我的印象是 Angular 会重写出现在模板中锚标记的 href 属性中的 URL,这样它们就可以在 html5 模式或 hashbang 模式下工作。位置服务的文档似乎说 HTML 链接重写处理了 hashbang 的情况。因此,我希望当不在 HTML5 模式下时,会插入散列,而在 HTML5 模式下,它们不会。
但是,似乎没有进行重写。以下示例不允许我仅更改模式。应用程序中的所有链接都需要手动重写(或在运行时从变量派生。我是否需要根据模式手动重写所有 URL?
我在 Angular 1.0.6、1.1.4 或 1.1.3 中没有看到任何客户端 url 重写。似乎所有href 值都需要在hashbang 模式和/ html5 模式前面加上#/。
是否需要一些配置来导致重写?我误读了文档吗?做别的傻事?
这是一个小例子:
附录:在重新阅读我的问题时,我发现我使用了“重写”这个词,但并没有清楚地说明我想在何时何地进行重写。问题是如何让Angular在呈现路径时重写 URL,以及如何让 Angular 在两种模式下统一解释 JS 代码中的路径。它不是关于如何使 Web 服务器对请求进行与 HTML5 兼容的重写。
angularjs - Angular 应用程序中的外部链接
我正在将 Angular 整合到现有 Rails 应用程序的单个页面中。
使用以下内容,一切都与页面内的路由完美配合
但是,我想保持与 Angular 无关的链接的正常功能。例如,我们在标头中有许多链接,这些链接链接到其他地方,这些链接现在被角度路由器捕获。
我在以下位置找到了一些潜在的解决方案:https ://groups.google.com/forum/?fromgroups#!topic/angular/basidvjscRk
但是基本路径方法似乎不起作用..并且 target="_self" 方法相当突兀。有没有更好的方法让角度忽略配置函数中未指定的路由?
我知道有一个 .otherwise() 方法,但这似乎又是一个 hack。我错过了什么吗?
非常感谢!
angularjs - AngularJS 路由与 Mongoose 网络服务器
我正在我的机器上本地测试一个网站。它使用 AngularJS 进行路由和页面更改,我正在尝试使用 Mongoose 网络服务器(非常轻)来测试路由。
我的代码如下:
(我还没有为其他一些页面设置控制器。我一直在测试“谁”页面。)
我正在从 localhost:8080 运行该页面。在我的应用程序中,当我单击链接更改位置时,什么也没有发生。URL 更改为“localhost:8080/who”,但我没有从控制台收到任何消息,我的页面上也没有任何更改。但是,如果我随后刷新该 URL,则会收到 404 错误。
我没有设置任何服务器端路由。这是 Angular 应用程序的必需品吗?我写的代码有问题,还是应该尝试不同的测试网络服务器?