问题标签 [state.go]

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 投票
2 回答
304 浏览

angularjs - ionic $state.go 未加载页面或显示错误

我在我的应用程序中使用 $state.go() 其他地方,但它不能在一个简单的函数中工作,我不知道为什么。它没有显示错误或显示 $state.go() 中调用的正确状态。

我已经使用 $stateChangeStart、$stateChangeError、$viewContentLoading 和 $stateChangeSuccess 对其进行了测试。它到达了所有正确的阶段:$stateChangeStart、$viewContentLoading 然后是 $stateChangeSuccess,每个阶段都有正确的内容,但不会加载页面。

我最初用 ui-sref 尝试过,但没有用,所以我用 $state.go() 尝试过,现在它不起作用,我真的很困惑。我看不出这段代码和我在 $state.go() 工作的其他地方有什么区别。

HTML 链接:

控制器中的代码:

状态代码:

thingDetails.html

thingDetails.js

0 投票
2 回答
2372 浏览

angularjs - Angularjs:如何使用 $state.go() 重定向相同状态的视图?

在我的应用程序的 $stateProvider 上,我定义了应用程序的所有状态:

登录控制器 ===> $state.go('layout') 工作并重定向到layout.html ....如预期的那样。

layout.html ===><ui-view ='list'/>正确显示list.htmllayout状态内。

列表控制器 ===> $state.go('form')$state.go('edit')不起作用。在list.html <a ui-sref='form'/>中不起作用。

如何在不同的视图及其控制器之间重定向?

0 投票
1 回答
350 浏览

javascript - 角度重新加载窗口然后进入新状态

背景

我有一个大型角度应用程序,其中包含许多项目的多种形式。

我有动作对象列表。

这些动作有模式。

这些操作表单的下拉菜单因一项操作而异。(下拉列表的内容取决于该操作是哪个公司的子项)

除非我重新加载页面,否则这些下拉列表内容不会改变。

问题

如何重新加载窗口然后更改 state.go?

代码

当前问题:

此代码应该从 cookie/本地存储/等中清除旧模式,以便下拉菜单显示当前操作的下拉内容,而不是最后一个操作的下拉内容。然后将您带到新操作的页面。

相反,此代码将用户带到 actionWizard 页面,然后将他们带回公司页面。

额外的上下文

我在这里从一个名为 sharedVars 的文件中加载下拉内容:

我在这里加载它:

然后在这里改变它:

然后我加载表格。

这一切都在http://schemaform.io

编辑 2

整个表单的 HTML:

编辑 3

我的 bower.json 看起来像:

所以,我没有 ngRoute,但我有 angular-ui-router

编辑 4

我尝试使用 $state 重新加载,但下拉列表仍然无法有效地重新加载。所以,这里的第一行似乎没有效果。

编辑 5

这也不起作用:

编辑 6

我在这里提出了一个新问题,我相信它更接近问题的核心:重新加载页面缓存,然后转到新页面

0 投票
2 回答
321 浏览

angularjs-directive - 如何防止 AngularJS 路由使用 ~ (波浪号)对 url 参数进行编码

目前,当我将参数传递给$state.go包含 a的参数时,~它会在创建 url 时重复。

例子:

我搜索~abc. 然后传给$state.go('.', {myParam: "~abc"}). 然后在 url 里面我有https://localhost/somePath?myParam=~~abc

根据 RFC3986,'~' 必须以 HTML 格式百分比编码为 "%7E"。如果我之前编码,那么我仍然有同样的问题。因此,我假设必须在UI 路由器内部$stateProvider或通过自定义内部路由器来处理该值。$urlmatcherfactoryprovider