我有一个带有ui-router子视图的主/详细信息表单。
技术1 (工作)
当用户点击编辑按钮时,我使用 ui-sref 激活修改面板,这样可以正常工作。
当我第一次点击编辑按钮或随后的时间点击我的面板时,一切都很好。
<a ui-sref=".edit({id: row.entity[\'id\']})" class="btn btn-default btn-xs">Edit</a>
技术2(失败)
我决定在控制器中尝试使用基本相同的状态转换格式。
这仅在用户第一次点击面板时工作,即在面板激活之前。后续点击失败并显示此错误。
// Only Works for the 1st Click
$state.go('.edit', { id: id });
技术3 (作品)
我能够通过这种方式让它工作,现在它适用于第一次点击和随后的点击。
// All ways works
$state.go('skill.edit', { id: id });
为什么技术2失败?
我显然已经使用技术2切换到某种较低级别的状态,但我不确定如何正确使用该技术?
以下是技术2中从第一次点击前到第一次点击后第二次点击后的屏幕截图。
答案 0 :(得分:0)
我说第一个有效,因为所有这些ui-sref
值都是在状态发生变化之前计算出来的,即它们都是来自父状态(skill
)。
当您尝试在控制器中执行此操作时,一旦状态已更改为skill.edit
,您就会告诉它转到相对.edit
状态,该状态将解析为{{1} }