DurandalJS - Widget未在后续请求中重新初始化

时间:2013-06-28 15:00:49

标签: durandal

这是问题的一个示例:小部件未在后续请求中重新初始化

我有一个“寻呼机”小部件。我第一次导航到使用它的页面时,执行 ctor 并初始化寻呼机(第1页)。

现在让我说导航到第6页。

问题是当我导航到另一个页面然后回到寻呼机所在的页面时,仍然会在选择了第6页的情况下呈现寻呼机(小部件),并且不执行 ctor 小部件控制器不是单例。

有没有我得不到的东西?

1 个答案:

答案 0 :(得分:0)

由于页面未重新呈现(因此窗口小部件),因此不会调用窗口小部件的生命周期回调。虽然可以通过

从父页面的激活方法与小部件进行通信,但您可以做什么
  1. 从根页面的激活方法中提取事件哪个小部件 监听
  2. 更新某些可观察的小部件订阅
  3. 中的数据
  4. 或者,脏的方式 - 不要这样做,只需重新渲染小部件     用with / if绑定包装小部件,每个小节都会改变     激活方法调用。如果您无法更改,这可能会有所帮助     小部件代码,这是不太可能的。