我是 Knockout JS 的新手。我应该使用 sammy.js 来帮助我完成以下任务吗?
我正在构建一个 Knockout JS 应用程序(单页),当我从一个状态移动到另一个状态时,哪些子面板是可见的以及它们所做的改变。例如:
登录前,我有一个邀请用户登录的大面板。
登录后,我有一堆标签,一个主要的搜索区域和一个底部的广告。
如果用户进行搜索,那么我最终会处于看到选项卡、搜索区域和搜索结果区域的状态。
我想通过让状态机在用户点击时从一个状态移动到另一个状态来做到这一点,就像解析器从一个状态移动到另一个状态一样。
我想象委托给当前状态,一个悬挂在 ViewModel 上的对象(也许),这样我的 20 个左右不同的状态几乎就像 20 个非常简单的不同 UI,每个 UI 都相互独立,简单、干净且易于理解。
1 - 我将如何做到这一点,让 UI 将子 UI 委托给挂在 ViewModel 上的子对象?
2 – 有没有更好的方法来保持我的 UI 简单,即使它有很多状态,并且不同的状态在哪些元素(子面板)可见时通常看起来彼此非常不同?
3 – 有没有人有代码重复委托给子用户界面的例子?
我说得有道理吗?