问题标签 [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.
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
angularjs - 从模板(视图)中动态加载 AngularJS 模块
背景: 我们假设您有 100,000 个视图(部分)。我们还假设您有附带的视图范围控制器,以及潜在的视图范围服务和过滤器。尝试设想一个可托管 100,000 个不同小型应用程序的聚合应用程序。
问题: 当您有需要随附控制器的“部分”时,典型的解决方案是执行以下操作:
控制器通常通过以下方式从 index.html 加载:
这种方法的问题在于它不能扩展。有一些动态加载控制器的解决方案,但它们仍然需要在各种配置中添加接触点。
理想解决方案: 理想情况下——同样对于数量为 000 的非常小的应用程序,控制器可以动态加载,并且可以从部分本身内部加载。这将减轻管理多个文件和多个配置接触点(更不用说网络请求)的需要,并保持每个部分都得到很好的包含。
它看起来像这样:
在路由器中:
在包含 html (app-frame) 中包含相对不同的“迷你应用程序”:
在使用 appUrl 部分解决时,将控制器和标记定义为一个:
对于这种情况,控制器和视图有很多部分和 1-1 映射,将两者结合起来以提高开发效率和维护是有意义的。这比使用多个文件和额外的配置接触点要干净得多。
问题是,这行不通。它可能就像在应用指令之前强制脚本加载一样简单......但不确定如何做到这一点?
以下是对该问题的一些类似解释:
https://groups.google.com/forum/#!topic/angular/H4haaMePJU0
AngularJS 团队的 Igor 说:
但我不知道他所说的“使用 jquery”是什么意思...... JQuery 已经从 index.html 加载到应用程序中(并且在 angularjs 之前),但听起来我需要在部分本身内专门做一些事情。
angularjs - AngularJS:理解 $rootScope.$on('$routeChangeSuccess
我正在处理登录页面,成功后,它会重定向到主页。默认情况下,我显示登录页面此代码:
然后从后端验证用户/通行证详细信息后,我将用户带到主页:
如果我删除语句部分$location.url
之前的第二个,重定向似乎不起作用。但是,它没有使用该 url ( ),而是转到. 但如果 url被删除,则重定向逻辑不起作用。else
if
/blah
home
blah
我似乎无法理解为什么我必须使用两个$location.url()
. 如果有人可以帮助我了解此重定向系统的工作原理,我将不胜感激?
这可能不是最佳实践,我愿意接受有关如何改进这一点的建议,这里是Plunker 示例
javascript - 如何转到定义了角度配置的 url 的父 url
让我谈谈我的应用程序:我正在尝试使用节点和角度构建网页。on / (root) url im 提供注册和登录表单。我没有在这里使用角度。成功登录后,我在 /home 上加载 angular 脚本和配置文件。这是我的角度配置文件:
在服务器端路由:
现在这是问题所在。假设我在 /home url 中。如果我单击此链接,此页面包含一个链接登录页面,角度会将我重定向到 /home 而不是 /。我怎样才能消除这个问题?帮助请:(
node.js - 如何强制 Angular 在 HTML5 模式下向服务器发送请求?
我正在尝试使用 angular 和 nodejs 构建和 web。我在包含登录和注册表单的/home
路径上加载 Angular。/
这是我的角度配置:
在服务器端路由:
如果我点击facebook auth它发送给我,我如何通过点击 url/home
上的链接发送请求,/auth/facebook
因为 Angular 路由。Angular 阻止向服务器发送请求,它只是转到 url ,我尝试通过替换来删除. 结果是一样的,只是那里没有加载视图。/home
/home
/home
/
angularjs - ngView 和 SEO 可以一起走吗?
出于明显的 SEO 原因,我在服务器端的 ngView 中填充初始登录页面内容。
有没有办法告诉 Angular 在初始页面加载和特定登陆路线时不要触摸 ngView?
javascript - 使用 Angularjs 在 URL 中存储视图状态
关于将视图状态存储为 URL 的一部分的一般(如果有的话)共识是什么,Angularjs
我将如何去做?我有一个相当复杂的视图/路由,其中包含许多要设置的过滤器、选项卡等,它们会导致视图状态。
我看到了将所有这些视图组件的状态存储为 URL 的一部分的优势,以便在应用程序中更轻松地导航(导航back
将使用所有选择恢复先前的视图,而无需从服务器加载状态,这将是一种替代方法) . 另一个优点是视图状态变得可收藏。
有没有可以用作指导的模式?有没有人这样做过,可以分享一些经验?我应该远离在 URL 中存储视图状态吗?
javascript - 阻塞路线的角度重定向
当用户未接受协议等时,我想阻止某些路由。使用$locationChangeStart
效果很好:
只要初始页面加载了路由/
(即为空),它就可以正常工作。但是,如果您使用/mainMenu
等加载页面,则它不起作用。路由本身被 阻止event.preventDefault()
,但$location.path
没有适当地触发/重定向。使用
也不起作用。我得到一个错误$digest already in progress
。
阻塞路由后有什么方法可以重定向$locationChangeStart
吗?
一般来说,有没有办法在 Angular 中阻止某些路由并在路由被阻止时执行重定向?
javascript - 使用 angular.js 路由手动刷新时仍然出现“未找到”
在阅读了大量关于 Angular.js 路由的文章和 stackoverflow 问题后,当我手动刷新时,我仍然收到“未找到”错误。
脚步:
- 浏览到
localhost
--> 由于我的配置(如下),我被带到localhost/home
. 视图和一切都加载正常。 - 在浏览器中点击刷新 --> 浏览器显示这个
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/
angularjs - AngularJS 路由注入
我试图延迟控制器的加载,直到我的 AJAX 请求返回特定项目。在每个控制器中,我定义了路由和控制器,例如:
问题是调用时$routeParams
没有属性。我在这里想念什么?如果这不是正确的方法,那是什么?id
resolvedVal