【问题标题】:How does Knockout maintain state?Knockout 如何保持状态?
【发布时间】:2017-01-03 01:15:48
【问题描述】:

我是 Knockout JS 的新手,正在开发小型单页应用程序。我发现了一些很好的例子,并观察到即使在页面被保存并重新加载数据之后,其他控制也不会受到影响。他们的数据不会丢失。

另外我在第1页填写了一些细节并移到第2页,在那里我做了一些操作,甚至保存了数据然后回到第1页,但我仍然找到了我在移动到第2页之前输入的数据。

我想知道它是如何保持状态的?我没有找到任何文章或类似的东西。任何人都可以提示它是如何工作的,我们如何维护状态?

【问题讨论】:

  • 您说您正在开发单页应用程序,但您提到了第 1 页和第 2 页。您能否简要解释一下您的应用程序在做什么。因为如果淘汰赛确实保持状态,这对我来说将是一个新闻。据我所知,淘汰赛只是客户端。
  • page1 和 page2 是具有不同 UI 的不同链接,正如我在一些示例应用程序中看到的那样。

标签: knockout.js single-page-application state-management


【解决方案1】:

通常,一旦用户离开或关闭选项卡/窗口,JavaScript 应用程序通常会失去其状态。 KnockoutJS 本身并没有什么特别的东西可以防止状态丢失的发生。

如果您有一个真正的 SPA,那么用户永远不会“离开”该 SPA。它只是在 SPA 中导航 ,这在用户体验上可能相似,但从技术角度来看却完全不同。

即使使用 SPA,用户也可以离开 SPA 并稍后返回。与非 SPA 应用程序类似,代码将需要某种机制来在页面或 SPA 加载时保持状态。

同样,KO 对此并没有什么特别之处。您的应用需要代码(或插件)来处理这个问题。查看this generic advice on preserving state 和/或自己构建代码。如果您的代码有特定问题,您可以随时向 SO 提出特定问题。

【讨论】:

    猜你喜欢
    • 2019-08-23
    • 1970-01-01
    • 1970-01-01
    • 2011-11-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-23
    • 2020-07-08
    • 1970-01-01
    相关资源
    最近更新 更多