Javascript ui路由器动态定义";“下一步”;运行时状态
我想使用ui路由器以动态定义的顺序通过一系列页面组合导航。 每个模板都来自一个独立的模块,可以重新排序或跳过,因此我不想为每个模板上的“下一步”按钮硬编码ui sref属性 我的目标是Javascript ui路由器动态定义";“下一步”;运行时状态,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我想使用ui路由器以动态定义的顺序通过一系列页面组合导航。 每个模板都来自一个独立的模块,可以重新排序或跳过,因此我不想为每个模板上的“下一步”按钮硬编码ui sref属性 我的目标是 用户单击下一步按钮 路由控制器查找此特定用户应处于的状态 转到下一步(每个用户的情况不同),并提取相应的参数 路由控制器调用$state.go('nextstate',params) 我如何在页面上放置一个通用按钮,比如说 <a ui-sref="next"> FutureStates插件对
- 用户单击下一步按钮
- 路由控制器查找此特定用户应处于的状态 转到下一步(每个用户的情况不同),并提取相应的参数
- 路由控制器调用$state.go('nextstate',params)
<a ui-sref="next">
FutureStates插件对此似乎有些过分,所有的状态都已经定义好了,我只是在运行时之前不知道它们应该按什么顺序调用
我想将复杂的参数传递到无法放置在url上的状态。在熟睡之后,我意识到在我的情况下更容易的选择是使用ng click(特别是当我传递不容易编码的参数时):
我将把这段代码放到一个指令中,这样不同的模块只需要执行
<next-button>
在他们的模板中
在某些情况下,这可能会导致可访问性问题,因为如果通过键盘导航,ng click不会触发,但在我的上下文中,这不是问题(因为我将使用键盘触发的ng click)。对于有兴趣访问此解决方案的其他人,这里有一个讨论:
可能的副本还有一个:还有一个未解决的问题:
<next-button>