问题标签 [angular-ui-router-extras]

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

angularjs - AngularJS 状态加载

我正在尝试使用ui-router-extras. JSON 文件如下所示:

以下是路由配置文件:

状态工作正常,但其他/login状态不工作并给出错误“invocables must be object”。我认为这是因为函数不起作用helper.basepath()helper.resolveFor()因为它们是来自 JSON 的字符串。

我该怎么办?

0 投票
0 回答
105 浏览

angularjs - AngularJS Ui-router - 保持标签之间的子 ui-view 更改(粘性状态)

我正在努力尝试制作两个选项卡以使用 UI-ROUTER 保持独立行为。

这是场景:

带有标签的人员详细信息编辑器:

  • 选项卡 1:基本人员信息 @ ui-view="basic"
  • 选项卡 2:地址网格 -> 编辑地址状态 @ ui-view="addresses"
  • 选项卡 3:联系人网格 -> 编辑联系人状态 @ ui-view="contacts"

映射:

当启用“order.person”状态时,我们确实加载了三个选项卡,包括地址和联系人数据网格。

因此,当用户从网格中编辑地址时,“order.person.address”状态被启用,并且地址网格槽被 addressEditor.html 替换。

问题是当地址编辑器启用时,用户在另一个选项卡中单击以编辑网格中的联系人。启用“order.person.contact”后,将退出“order.person.address”并重新加载地址网格。

我希望用户能够独立显示/编辑地址和联系人记录。

我尝试启用 ui-router-extras 并用“sticky : true”标记状态,但它确实没有任何区别。

完成这项工作的诀窍是什么?

谢谢你们

0 投票
1 回答
137 浏览

javascript - 当用户单击浏览器后退按钮时,未在 Angular js 中获取先前的状态数据

我正在开发一个 AngularJs 应用程序。我的问题如下

我使用复选框和单选按钮使用某些参数过滤数据。过滤数据后,我已经转移到另一个状态。当用户单击浏览器上的后退按钮时,我无法获取过滤后的数据。取而代之的是,我得到了一个广义的状态数据。

例如。

我有专业人士名单,我根据年龄和性别应用过滤器来获得特定专业人士,如果点击任何结果,我会在获得过滤结果后重定向到一个新状态,即该专业人士的详细视图。现在如果我点击浏览器的后退按钮我正在获取所有专业人员的列表,但我想要我的过滤列表..

这个你能帮我吗..

如果我们在应用过滤器时在状态 url 中传递一些参数,这可以实现.. 但是如何实现这个..?

有人可以指导我吗?

0 投票
1 回答
35 浏览

angularjs - 在 ui 路由器中更改 $scope.data

如何使用ui-router. 你能用resolve吗?

0 投票
1 回答
104 浏览

angularjs - ui-router-extras stateParams 为空

谁能帮我解决这个问题我有一个关于参数的问题:

1)当我进入解析功能app.usermanagement.user({id:40})时是空的。我想我错过了一些选择。router.config$stateParams

我要去那个状态ui-sref="app.usermanagement.user({id:40})"

下面是代码:

0 投票
0 回答
47 浏览

angularjs - Angular UI Router - 任何方式多次引用相同的url变量?

我想实现ui路由器状态的有限网络(客户端需要),嵌套的最大深度可以是一个固定值(例如10),因此我希望我的状态看起来像这样:

最后,我希望用户能够输入以下网址:

明显的问题是 ui 路由器会覆盖每个(子)状态的“pageName”变量,因此在导航到/page/page1/subpage1我之后,状态“page”和“page.page”中只会设置 {pageName:'subppage1'} 变量。

在整个应用程序中,ui-sref 只会使用 RELATIVE 状态,所以当我处于“页面”状态时,我会进入“page.page”状态等等。我希望能够根据需要在状态层次结构中向上或向下移动页面的 html 视图,并且我不想在这种情况下更改每个 ui-sref 调用(现在我必须更改变量名,因为每个州都必须有不同的名称)

有没有可能实现我想要的场景?我尝试将“pageName”定义为数组类型,但它似乎不起作用(每个子状态都被覆盖)。使用自定义 ui 路由器类型似乎也不起作用,因为它不能修改 stateParams 对象,只返回单个 url 值的表示(因此“pageName”也被覆盖)。Ui-router extras 似乎在这里也无济于事,或者我可能遗漏了一些东西。

0 投票
1 回答
163 浏览

angularjs - Angular + ui-router 并行状态架构

我正在设计一个“自定义门户”,但我一直坚持如何以正确的方式设计我们的应用程序。该门户的视图如下图所示:

  1. 购物车下拉菜单,用户可以在其中选择“当前”购物车(可以为空)
    • 一个。重定向到“当前”购物车详细信息页面的按钮。
  2. 应用程序菜单。我们可以在哪里导航到目录
  3. 主要应用领域。 在此处输入图像描述

我有以下工作流程:

  • 用户进入目录菜单。

    网址:域/目录;状态:目录

  • 用户选择目录并查看目录中的产品

    网址:域/目录/目录1ID;状态:catalogs.detail

  • 用户可以单击产品图块并转到产品详细信息视图

    url:域/目录/catalog1ID/product1ID;状态:catalogs.detail.product

看起来很自然,目前没有什么特别的。现在的主要问题是如何将“购物车”功能集成到此工作流程中。我的意思是,如果用户选择购物车,则视图上的数据可能会有所不同(因为购物车与不同的客户相关,我们可以为不同的客户显示不同的目录/价格/产品)。Fe 对于购物车 1 和购物车 2 和未选择的购物车,Catalog1 中 Product1 的价格可能不同。我正在尝试寻找下一个问题的答案:

  • 在哪里保留选定的购物车(州/网址)?
  • 如何告知当前状态购物车已更改?
  • 如何使 F5/refresh 正常工作(如果我当前的状态是catalogs.detail.product并且我选择了购物车)?
0 投票
0 回答
1055 浏览

angularjs - 角度 ui 路由器和粘性状态

我是 angular ui-router 的新手,但到目前为止一直在使用它进行简单的布局。

我有这个 plunker:http ://plnkr.co/edit/q71yKZ2m8iZrZo2FwbZd?p=preview

我想做的是双重的:

  1. 为了能够在 a 部分中进行一些更改,请单击 part b ,进行一些更改并在 2 个部分之间单击返回,但保留修改后的数据
  2. 要在 a 中进行更改,转到 b,然后按后退按钮并返回 a 而不会丢失更改

我的状态是这样定义的

虽然我可以让视图正常工作,但我似乎无法保持状态

我认为通过拥有“top.parta”和“top.partb”我将创建一个嵌套视图,但对于将视图对象置于顶级状态中的需要感到有些困惑

当我尝试使用视图时,我得到的只是一个空白屏幕。我希望这是一个足够简单的解决方法——我所需要的只是打开灯泡的开关;)

更新 #1 看起来我需要使用命名视图(“粘性状态视图必须针对其自己的唯一命名 ui-view。”)。我会进一步研究这个

0 投票
2 回答
536 浏览

angularjs - 无法让 $state 与 angular-ui-router 一起使用

我正在尝试使用$state. 我无法让它工作。这是我的代码:

这给了我以下错误:

我尝试从 $rootScope.$on 中删除 $state 但我收到了这个错误:

我该如何解决?

0 投票
0 回答
140 浏览

angularjs - $state 仅适用于 Angular 应用程序的某些部分

我已经让 $state 可以在我的应用程序的一部分中工作,但不能在另一部分中工作。我第一次这样称呼它时它起作用:$state.go('main');但我像这样称呼它更远一点$state.go('signIn');,无法让它在那里工作。我希望这段代码做的是,如果用户未通过验证$auth.validator,我希望它重定向到登录页面,并显示一条消息“您需要登录”。我该怎么做呢?这是我的代码:

我收到以下错误:

更新:

我已经解决了一半的问题。我通过将 $state 作为依赖项包含它来工作:

现在我只需要让 Flash 消息工作并说“你需要登录”。