问题标签 [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.

0 投票
1 回答
2638 浏览

angularjs - Angular ui-router 无法解析命名依赖项

我最近从 ui-router 0.0.1 迁移到 0.2.0。自迁移以来,ui-router 无法解析需要注入视图控制器的命名依赖项。这是适用于 0.0.1 版但在 0.2.0 版中失败的示例代码

i18nService 是一个返回承诺的简单服务

使用 v0.2.0 时出现错误“Unknown provider: i18nProvider <- i18n”

如果我将解析配置更改为:

一切正常。这是预期的行为,还是我缺少一些配置?

这是 plunker:http ://plnkr.co/edit/johqGn1CgefDVKGzIt6q?p=preview

0 投票
1 回答
4109 浏览

angularjs - 从模板(视图)中动态加载 AngularJS 模块

背景: 我们假设您有 100,000 个视图(部分)。我们还假设您有附带的视图范围控制器,以及潜在的视图范围服务和过滤器。尝试设想一个可托管 100,000 个不同小型应用程序的聚合应用程序。

问题: 当您有需要随附控制器的“部分”时,典型的解决方案是执行以下操作:

控制器通常通过以下方式从 index.html 加载:

这种方法的问题在于它不能扩展。有一些动态加载控制器的解决方案,但它们仍然需要在各种配置中添加接触点。

理想解决方案: 理想情况下——同样对于数量为 000 的非常小的应用程序,控制器可以动态加载,并且可以从部分本身内部加载。这将减轻管理多个文件和多个配置接触点(更不用说网络请求)的需要,并保持每个部分都得到很好的包含。

它看起来像这样:

在路由器中:

在包含 html (app-frame) 中包含相对不同的“迷你应用程序”:

在使用 appUrl 部分解决时,将控制器标记定义为一个:

对于这种情况,控制器和视图有很多部分和 1-1 映射,将两者结合起来以提高开发效率和维护是有意义的。这比使用多个文件和额外的配置接触点要干净得多。

问题是,这行不通。它可能就像在应用指令之前强制脚本加载一样简单......但不确定如何做到这一点?

以下是对该问题的一些类似解释:

https://groups.google.com/forum/#!topic/angular/H4haaMePJU0

使用 Angular 加载部分页面并编译控制器

AngularJS 团队的 Igor 说:

但我不知道他所说的“使用 jquery”是什么意思...... JQuery 已经从 index.html 加载到应用程序中(并且在 angularjs 之前),但听起来我需要在部分本身内专门做一些事情。

0 投票
1 回答
14608 浏览

angularjs - AngularJS:理解 $rootScope.$on('$routeChangeSuccess

我正在处理登录页面,成功后,它会重定向到主页。默认情况下,我显示登录页面此代码:

然后从后端验证用户/通行证详细信息后,我将用户带到主页:

如果我删除语句部分$location.url之前的第二个,重定向似乎不起作用。但是,它没有使用该 url ( ),而是转到. 但如果 url被删除,则重定向逻辑不起作用。elseif/blahhomeblah

我似乎无法理解为什么我必须使用两个$location.url(). 如果有人可以帮助我了解此重定向系统的工作原理,我将不胜感激?

这可能不是最佳实践,我愿意接受有关如何改进这一点的建议,这里是Plunker 示例

0 投票
1 回答
138 浏览

javascript - 如何转到定义了角度配置的 url 的父 url

让我谈谈我的应用程序:我正在尝试使用节点和角度构建网页。on / (root) url im 提供注册和登录表单。我没有在这里使用角度。成功登录后,我在 /home 上加载 angular 脚本和配置文件。这是我的角度配置文件:

在服务器端路由:

现在这是问题所在。假设我在 /home url 中。如果我单击此链接,此页面包含一个链接登录页面,角度会将我重定向到 /home 而不是 /。我怎样才能消除这个问题?帮助请:(

0 投票
2 回答
2048 浏览

node.js - 如何强制 Angular 在 HTML5 模式下向服务器发送请求?

我正在尝试使用 angular 和 nodejs 构建和 web。我在包含登录和注册表单的/home路径上加载 Angular。/这是我的角度配置:

在服务器端路由:

如果我点击facebook auth它发送给我,我如何通过点击 url/home上的链接发送请求,/auth/facebook因为 Angular 路由。Angular 阻止向服务器发送请求,它只是转到 url ,我尝试通过替换来删除. 结果是一样的,只是那里没有加载视图。/home/home/home/

0 投票
0 回答
385 浏览

angularjs - ngView 和 SEO 可以一起走吗?

出于明显的 SEO 原因,我在服务器端的 ngView 中填充初始登录页面内容。

有没有办法告诉 Angular 在初始页面加载和特定登陆路线时不要触摸 ngView?

0 投票
1 回答
5101 浏览

javascript - 使用 Angularjs 在 URL 中存储视图状态

关于将视图状态存储为 URL 的一部分的一般(如果有的话)共识是什么,Angularjs我将如何去做?我有一个相当复杂的视图/路由,其中​​包含许多要设置的过滤器、选项卡等,它们会导致视图状态。

我看到了将所有这些视图组件的状态存储为 URL 的一部分的优势,以便在应用程序中更轻松地导航(导航back将使用所有选择恢复先前的视图,而无需从服务器加载状态,这将是一种替代方法) . 另一个优点是视图状态变得可收藏。

有没有可以用作指导的模式?有没有人这样做过,可以分享一些经验?我应该远离在 URL 中存储视图状态吗?

0 投票
1 回答
395 浏览

javascript - 阻塞路线的角度重定向

当用户未接受协议等时,我想阻止某些路由。使用$locationChangeStart效果很好:

只要初始页面加载了路由/(即为空),它就可以正常工作。但是,如果您使用/mainMenu等加载页面,则它不起作用。路由本身被 阻止event.preventDefault(),但$location.path没有适当地触发/重定向。使用

也不起作用。我得到一个错误$digest already in progress

阻塞路由后有什么方法可以重定向$locationChangeStart吗?

一般来说,有没有办法在 Angular 中阻止某些路由并在路由被阻止时执行重定向?

0 投票
4 回答
14744 浏览

javascript - 使用 angular.js 路由手动刷新时仍然出现“未找到”

在阅读了大量关于 Angular.js 路由的文章和 stackoverflow 问题后,当我手动刷新时,我仍然收到“未找到”错误。

脚步:

  1. 浏览到localhost--> 由于我的配置(如下),我被带到localhost/home. 视图和一切都加载正常。
  2. 在浏览器中点击刷新 --> 浏览器显示这个Not Found: the requested /home is not found on this server

这个问题可能最像刷新页面给出“找不到页面”

我的配置

我做过的其他事情:

  • 在我的index.html,我已经有了<base href="/">
  • 升级到角度 1.2.1

这是我尝试过的 htaccess 规则。没有工作。

刷新页面给出“找不到页面”

来自http://ericduran.io/2013/05/31/angular-html5Mode-with-yeoman/

0 投票
1 回答
1396 浏览

angularjs - AngularJS 路由注入

我试图延迟控制器的加载,直到我的 AJAX 请求返回特定项目。在每个控制器中,我定义了路由和控制器,例如:

问题是调用时$routeParams没有属性。我在这里想念什么?如果这不是正确的方法,那是什么?idresolvedVal