问题标签 [angular-ui-router]

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 回答
2518 浏览

angularjs - Angular UI-Router:嵌套状态/视图显示路由但不显示模板

我目前Angular UI-Router 0.0.2在我的角度应用程序中使用路由/状态。在我的应用程序中,我有一个仪表板和一个帐户页面——仪表板显示应用程序数据;帐户页面显示用户信息。

当我将dashboardandaccount状态作为两个独立的状态时,路由会发生变化,并且会显示帐户页面。

此代码有效:

但是,每当我将account状态设置为 的嵌套状态时dashboard,只会显示一个空白屏幕。

此代码不起作用:

我的dashboard/index.html文件:

loginform的指令模板:

0 投票
0 回答
1054 浏览

angularjs - Angularjs ui-router:使用已解析的默认参数重写位置

我有多个嵌套状态。比方说:

每个州都有决心检索他的数据,先决条件。顺便说一句,我使用此解决方法在子状态解析中使用父状态解析数据(https://gist.github.com/MattWalker/6106393

当用户转到 /processes 时,我将他重定向到 /departments//group//category/,这样他就可以看到具有默认组和默认类别的默认部门。我不希望他选择一个部门,然后是一个组,然后是一个类别。我想立即向他展示具有默认值的视图。

它有效,但这是我的问题。找到默认值并显示视图后,如何让 url 位置显示类似

代替

谢谢

0 投票
1 回答
5769 浏览

regex - AngularJS ng-pattern 奇怪的行为(正则表达式)

在少数情况下,我使用 ng-pattern 来验证我的客户端,例如查看密码复杂性。

现在,我使用 ng-pattern 在我的正则表达式中得到了非常奇怪的匹配。看看下面的例子

以上应要求 8 个字符,至少 1 个大写字符和 1 个数字或特殊字符。出于某种原因,我得到了像FaiLoudD这样没有意义的词的匹配。

我在我的 python 后端运行相同的正则表达式,它就像一个魅力。我还使用http://regexpal.com/验证了正则表达式 ,它也很完美。

为什么 ng-pattern 匹配这么奇怪?

更新:

我深入研究了我的应用程序的所有模块和整个构建过程。当我在构建过程中禁用 grunt-html2js 时,ng-pattern 指令再次开始工作。它似乎导致 ng-pattern 错误地解释了正则表达式。由于问题是在 html2js 项目中创建的。有了这个,我将结束这个问题。

0 投票
1 回答
76 浏览

javascript - 处理路由器的完整 URL

我正在我自己的网站上试验 angularjs。我的问题是我希望在带有和不带有 JS的 URL http://website.com/foo/bar上具有相同的内容。

  • 当我来“/”和JS时,我可以移动到“/foo/bar”,没问题。
  • 如果我在没有 JS 的情况下刷新,没问题。
  • 如果我用 JS 刷新,角度无法生成想要的内容。

我认为问题出$location在没有像建议这个问题那样处理完整的网址。

如何强制 Angular 处理完整的 URL?

谢谢。

0 投票
1 回答
3235 浏览

angularjs - URL中带有index.html的angular-ui-router空白页面

我使用 angular 1.1.5 和 ui-router。我的基于 Spring 的 webapp 可以在http://mydomain:8080/webapp/app/index.html

加载完所有资源文件,当angular bootstrap主模块时,URL变为,http://mydomain:8080/webapp/app/index.html#/index.html页面为空白。

ui-router 配置为

我试图创建一个 plunker 来显示这个问题,但我没有成功。

0 投票
1 回答
489 浏览

javascript - 在 AngularJS 上更改 URL 而不转换特定链接的状态,但将 URL 保留在链接中

我有一个有两个动作的链接。当我点击它时,它会通过“ng-click”打开一个模式框,但它也通过它的“ng-href”转换状态。

模态框开口是有意的。状态转换不是。但是,我需要该状态转换中的 URL 才能持续存在。

当我尝试使用 $locationChangeStart 来阻止状态更改时,它也会阻止 URL 更改。这不是优选的。我也进行了一些研究,并在“reloadOnSearch”中找到了潜在的解决方案。然而,它不可能指向一个特定的链接。并非页面上的所有链接都这样做,其他链接都是正常链接。此外,我不知道如何将 reloadOnSearch 与 ui-router 一起使用。

我尝试实现的功能类似于 Pinterest 的项目叠加。当您单击该项目时,它们会打开一个模式框并更改 URL,但基础页面不会更改。这允许最终用户复制 URL 并与他们的朋友共享,当他们访问它时,它实际上会直接进入项目页面而不是覆盖。

我目前正在使用 ui-router,如果这会让任何事情变得更容易。

希望有人有解决方案?

0 投票
4 回答
21566 浏览

javascript - Angular UI 路由器 - 处于继承状态的视图

编辑:根据@actor2019 的回答,我想更新我的问题以更好地解释问题:

使用Angular UI-Router (v0.0.2),我设置了应用程序以在主“页面”/状态之间正确导航,同时继承基本状态。

索引.html:

base.html:

问题在 app.js 文件中。当我将views参数添加到base状态时,一切都停止工作(100% 空白页)。如果没有该参数,页面将正确呈现,但我没有搜索视图。

应用程序.js:

如何将视图添加到此父“基本”状态?

在此处输入图像描述

更新: @actor2019 的答案的问题search状态改变时视图会被重新初始化。我希望基本级别的视图能够通过状态更改持续存在。

0 投票
1 回答
553 浏览

angularjs - 角度js重新加载视图

我在我的项目中使用了 Angular JS 和 Angular IU-Router,并使用了很多 ui-views。我有一种情况需要更改网站的语言,因此我需要将我的 ui-view 模型交换为具有相关语言的另一个模型。我已经有一项服务可以检测相关模型并将其传递给 ui-view 的控制器。因此,如果我可以重新加载 ui-view,那么理论上我的问题将得到解决。

我记得读过一些关于自动重新加载 ui 视图(或可能是 ng 视图)并重新实例化其控制器的内容,但经过大量搜索后,我无法再次找到该信息。

有谁知道我在找什么?

0 投票
2 回答
1965 浏览

javascript - AngularJS 中的继承和嵌套视图

我正在尝试在 angularjs 中设置一些嵌套视图。我一直在使用ui-router库来执行此操作,这在大多数情况下都非常有用。问题是每个视图都有一个单独的控制器,它们之间没有真正的继承。如果我想从子控制器修改父控制器中的某些内容,我必须使用 $scope.$parent 。这有点麻烦,如果有多个继承级别,并且您必须记住您正在访问的变量位于哪个级别,它可能会变得更糟。此外,如果您忘记在子控制器中使用 $parent 并尝试修改父变量之一,Angular 将创建该变量的新实例,这可能会导致一些难以追踪的错误。

理想情况下,我只能使用原型继承。这也可以很好地映射到 Typescript 或 Coffeescript 中的类。我想到的一种方法是摆脱所有的父控制器,只让子控制器继承原型(超类)的任何通用功能。然后,您只需将控制器放在 $rootScope 上,以便父视图可以访问它。

谁能想到这个解决方案或更好的解决方案有什么问题?我最好只使用 $parent 并让 Angular 处理“继承”。

谢谢

0 投票
2 回答
11051 浏览

javascript - 使用 UI 路由器从解析函数调用服务中新状态的 $stateParams

有没有办法$stateParams从解析函数中调用的服务访问您要转换到的状态?与ngRoute您一起使用$route.current.params. 正如这个最小的 plunk 所示,该服务只看到您要离开的状态:

http://plnkr.co/edit/QpwgAj?p=preview

我将新的$stateParamswhen$stateParams直接注入到 resolve 函数中,但这些值仍然落后于服务中的一条路线。

我错过了什么?