0

所以我还有另一个 DurandalJS 问题。所以我有一些非常独立的小部件。他们根据当前用户是否登录来呈现或隐藏自己,例如我有一个显示当前用户名的小部件,另一个显示当前用户的一些设置。'当前用户是存储在本地存储中的一个值,所以每个人基本上都知道从那里获取它并尽自己的一份力。

我有一个安全模块,当用户登录和用户注销时,它会在自身上触发一个事件。

我所有的小部件(包括 shell)都需要这个安全模块,它们都处理事件。现在我知道该事件正在工作,因为 shell 的事件处理程序被调用,但小部件永远不会看到该事件,即使它们显示在 shell 中。

但是,如果我对页面进行硬刷新(无论用户是否登录),所有小部件都会正确呈现,因此我知道小部件知道该做什么。我做错了吗?如果是的话,我该怎么做。

谢谢

4

1 回答 1

1

问题是我从我的小部件返回单例。我不知道有什么区别,但是当我返回单身人士时,我从来没有得到这些事件。Durandal 期望小部件是构造函数,以便它可以实例化多个相同类型的小部件,请参见此处

viewmodel.js 是一个函数导出模块,它将作为所有小部件代码的位置。它将通过组合模块由小部件基础结构绑定到 view.html。

于 2013-10-31T06:33:44.543 回答