刷新页面后可以用 Knockout JS 保存 ViewModel 的数据吗?
Posted
技术标签:
【中文标题】刷新页面后可以用 Knockout JS 保存 ViewModel 的数据吗?【英文标题】:It's possible to save the data of the ViewModel with Knockout JS after refresh page? 【发布时间】:2019-01-24 15:58:44 【问题描述】:我想知道是否可以保存可观察值中的更改并在刷新页面后获取 ViewModel 的最后状态。
【问题讨论】:
您可以为此使用本地存储。这是一个选择吗? 【参考方案1】:您实际上可以使用ko extender 来实现这一点。
有一些,其中之一是knockout.persist。
使用此绑定,您可以执行以下操作:
// Will automatically load and save the value if it exists in the localStorage
this.persistedValue = ko.observable().extend( persist: 'persistedValue' );
// Will automatically load and save the array if it exists in the localStorage
this.persistedArray = ko.observableArray().extend( persist: 'persistedArray' );
因为我在一些项目中使用过它,所以它总体上工作得很好。
现在,如果 localStorage 不是一个选项,您可以考虑以类似的方式通过 cookie 或通过 JSON.stringify 添加到浏览器中的 URL 来保持状态。
这完全取决于您的任务/用例的限制条件。
【讨论】:
以上是关于刷新页面后可以用 Knockout JS 保存 ViewModel 的数据吗?的主要内容,如果未能解决你的问题,请参考以下文章