每次导航到不同的组件类型时,路由器都会实例化一个新组件 . 这会产生严重的后果 . 此外,这是一个非常不同的范例,不仅来自以前版本的路由器,还有任何路由框架 .

下面是一个示例:用户可能正在填充tab1上的长形式,他需要查找或验证tab2中的其他一些细节,当他回到tab1时,一切都被清除(因为组件是重新组合) -instantiated) . 这意味着每次用户在UI的一部分上进行更改时,应该保留UI的状态(预期他意外导航到另一个组件,该组件在同一UI上共存 .

在复杂的用户界面上,例如图形和多个打开的树控件(反映位于某个东西中间的用户),人们不仅要保留内容,还要不必要地保留组件上各种小部件或图形的每个位的状态 . . 如果路由器具有重用树上组件的选项(当从当前组件导航到不同类型的组件时),则不必保留UI状态 .

每次破坏组件(有人导航到不同类型的组件)的这种想法从性能的角度来看也听起来不对 . 来自重型后端呼叫的模型必须被缓存或重复呼叫 .

您对此路由模型有何体验?

这种设计使开发人员做了很多额外的工作(保存和重新创建正在进行的工作 - 我们过去从未关心过),并对应用程序造成性能损失 . 你如何克服这些挑战?

UI路由器另一个第三方路由库(自angular1天以来一直存在)不会通过重新创建组件来强制/强制开发人员 . 你是否采用它作为替代方案?如果UI-Router是比Router 3更好的选择的任何建议?