问题标签 [angularjs-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 回答
370 浏览

angularjs - 当我直接点击页面时,angular的路由如何重写地址栏?

因此,当我直接点击页面地址时,我试图理解 Angular 的路由/地址重写行为逻辑,即转到 index.html 的“/”。

(你可能会质疑我为什么要这样做。这是因为我试图在一个不寻常的上下文中使用 Angularjs,在这种情况下,直接通过其完整地址访问页面是不可避免的,当我这样做时,路由会变得很奇怪。)

有什么见解吗?

0 投票
1 回答
1824 浏览

javascript - 使用 ui-bootstrap 中的 tabset 指令时,Angularjs 路由的行为很奇怪

我一直在尝试解决一个奇怪的行为。每当我在我的一个 ui-router 模板中使用 ui-bootstrap 中的 tabset 指令时,我都无法离开该特定状态。我得到的错误是:

第一次正常工作路由表现正常但是一旦加载带有标签集的页面,上述路由的异常行为就会开始

这是我的小提琴…………

您可以在小提琴演示中找到两个链接

1 -> Tab Absent [A simple page with no Tab] 2 -> Tab Present [A page with ui-bootstrap tab]

如果您首先选择 Tab Absent Page,它将正常工作,但是一旦您访问 Tab Present Page,那么每当您单击 Tab Absent 页面时,路由就不会发生[即标签不会消失]。

如果您首先访问 Tab Present Page 然后选择 Tab Absent 页面,您将在控制台中收到错误

0 投票
1 回答
23034 浏览

angularjs - AngularJS Dynamic loading a controller

I read a lot about lazzy loading, but I am facing a problem when using $routeProvider.

My goal is to load a javascript file which contains a controller and add a route to this controller which has been loaded previously.

Content of my javascript file to load

This file is not included when angular bootstap is called. It means, I have to load the file and create a route to this controller.

First, I started writing a resolve function which has to load the Javascript file. But declaring my controller parameter in route declaration gave me an error :

'MouseTestCtrlA' is not a function, got undefined

Here is the call I am trying to set :

From what I read, the controller parameter should be a registered controller

controller – {(string|function()=} – Controller fn that should be associated with newly created scope or the name of a registered controller if passed as a string.

So I write a factory which should be able to load my file and then (promise style!) I whould try to declare a new route.

It gave me something like below where dependencies is an array of javascript files' paths to load :

Usage

Script loader

Problem

I still have this javascript error "'MouseTestCtrlA' is not a function, got undefined" which means Angular could not resolved 'MouseTestCtrlA' as a registered controller.

Can anyone help me on this point please ?

0 投票
0 回答
133 浏览

javascript - 根据上下文表现为灯箱或独立的视图

假设我们有三个视图:ABX。这些 URL 是 /A、/B 和 /X。

AB都包含指向X的链接。单击时,X呈现为AB顶部的灯箱,并且 url 被更新。

另一方面,当直接输入该 url 时(即通过手动将其输入到浏览器中),视图X显示为独立页面。

为简单起见,假设X的容器和内容在两种状态(灯箱和独立)中保持不变。

主要问题是如何在路由和指令方面正确解决这个问题。

提前感谢您的想法。

0 投票
4 回答
9867 浏览

javascript - 如何从基于angularjs的网站上的url中删除index.html

我没有找到从 url 中删除 index.html 的方法,因为这样看起来真的很难看。

有没有办法删除那部分,就像那个 url 会很清楚用户在哪里。

提前 Tnx 等待您的时间。

编辑:我只是找到它可以像这样工作的方式:

这比使用 index.html 要好得多。

但是,如果有更短的解决方案的方法,请告诉我。

0 投票
2 回答
7063 浏览

angularjs - AngularJS:不是在 RouteProvider 而是在控制器中解决?

我在这里看到了一些示例代码延迟 AngularJS 路由更改直到模型加载以防止闪烁

虽然这是正确的方法,但我需要让我的控制器仅在解析完成加载时才加载,通常周围的大多数示例都会告诉您将代码置于 routeprovder 中的解析下作为内联函数,但这听起来不对。控制器需要它,所以为什么不让控制器实现要解析的功能。这听起来正是我想要的,即。这似乎使用原型模式??

问题是我的控制器是这样的

那么,当我的控制器在模块中声明时,如何在控制器上应用新功能?

我真正需要的是

这将允许我在我的路由提供者中拥有..

但我很困惑如何让它发挥作用?

我真的很喜欢任何反馈,我很茫然。

0 投票
0 回答
598 浏览

angularjs - AngularJS - 当 ng-view ng-repeat 依赖于 $routeParams 时“达到 10 个 $digest() 迭代”

我对 Angular 很陌生,这是我第一次处理路由,所以如果我的问题有点令人困惑,请原谅。这个应用程序的实际逻辑和结构要复杂得多,并且我正在使用多种服务,但这是我遇到问题的部分的总体思路。我将衷心感谢您的帮助!谢谢。

解决了

我正在递归地添加相同的模板。在模板中,我将 ng-repeat 模板更改为另一个模板,它运行良好。 http://jsfiddle.net/GeorgiAngelov/9yN3Z/111/

更新的 jsFiddle:http: //jsfiddle.net/GeorgiAngelov/9yN3Z/106/

感谢Chandermani,我更新了我的小提琴(我删除了所有控制器并只留下了一个副本)但现在每当我单击“添加根”按钮或单击某个部分时,我都会得到“10 $digest() 迭代”一直给我那个错误......不知道为什么。

所以我有一个应用程序,我的左侧有一个菜单,我可以在该菜单中添加更多称为部分的元素。该菜单部分项源自位于我的控制器中的名为sections的数组,当您添加一个部分时,它会将其添加到名为sections的数组中。

*部分的 HTML *

该数组中的每个对象都有另一个名为 root 的数组和另一个名为Add Root的按钮,我想将对象(元素)推送到我当前所在的任何部分,具体取决于 $routeParams id 变量

从路由器调用的 HTML 模板

0 投票
2 回答
10792 浏览

angularjs - AngularJS:在 RouteProvider 中解决 - 检测成功/失败?

我已经解决了我的路由提供程序,但我只是返回了承诺,所以我不知道它是成功还是失败。这就是我所拥有的

现在这确实有效,但我如何检测成功或失败。我可以在 resolve 方法中输入这个,但是在成功和失败中我会返回什么。记住我需要将项目注入我的控制器中。

我确实在这里看到了一个例子,但我很困惑这是否是我需要的以及如何使用它?

AngularJS - 用 $routeProvider:resolve 拒绝了 $http 承诺

它似乎正在返回手动承诺。

我真正想做的是在我的控制器中将已解析的变量注入控制器,如果它失败了,那么我也想访问控制器中的故障,这样我就可以向用户显示它是不可能的由于问题而渲染。

0 投票
1 回答
579 浏览

angularjs - 用于 Kendo UI 移动的 AngularJS 路由

我开始使用 Kendo UI mobile、AngularJS、PhoneGap 开发移动应用程序。使用 Angular 路由的东西会很好。但是 Kendo UI mobile 有自己的路由系统。有什么方法可以使用 AngularJS 路由系统而不是 Kendo UI 移动设备?

也许一些包装...

0 投票
2 回答
483 浏览

angularjs - Angularjs - 使用 $routing - 当我手动输入 "#/section/ + myId" 时,它会重置我的页面

所以我试图在我的应用程序中实现路由。这是我正在尝试做的一个示例 jsFiddle:http: //jsfiddle.net/GeorgiAngelov/9yN3Z/114/

到目前为止,一切正常,当我在各个部分移动时,我的路线发生了变化,一切都很好。

问题如下:当我像这样在我的 url 栏中手动键入部分 id 时,我的本地主机:/section/s-3 我被重定向到 s-1 并且我的页面刷新并且我丢失了所有部分和根到目前为止已经添加。有时它有效,我可以在这样的部分之间切换,但有时它会刷新,当我单击两次输入时会发生这种情况。

这是一个奇怪的问题,我不确定如何调试它。这是我的实际路由服务。