【发布时间】:2018-06-10 03:52:15
【问题描述】:
您好,我正在使用 Knockoutjs、Sammy.js 和 Rest Web API 开发一个 .Net 单页应用程序。我对这些库有点陌生,我遇到了一些核心设计问题,我希望能获得一些见解。
我遇到的主要问题是针对特定元素使用敲除 ko.applybinding。
this.get("#/Classroom", function(context) {
dataPack.build(PageLoc, context)
appPres.reload();
ko.applyBindings(new classroomVmCore.View(), document.getElementById('view-Classroom'));
});
由于这是一个单页应用程序,我必须动态附加我的视图。 dataPack.build 抓住了我的视野并绑定到单页的上下文。该功能按预期工作正常,但是当涉及到ko.applyBindings 时,我发现出现以下问题..
任何页面刷新都会丢失我的视图模型,如果
sammy.js哈希没有命中,则数据丢失。这个问题主要发生在任何共享内容(例如导航项、布局项等)上,因为当我再次点击#/Classroom哈希时,这些数据有自己的视图模型,这些共享模型会丢失。除了为我的视图模型使用下面的构造函数之外,他们还有其他选择吗?将其设置为变量,然后尝试调整或添加到该变量似乎并没有调整我的模型。
我实际上是在寻找一种随时更新/刷新我的模型的方法,以便我可以处理新的页面。
是否有人将这些库用于 SPA 遇到这些问题?你是如何构建你的视图和绑定的?
非常感谢任何帮助或想法。
【问题讨论】:
标签: knockout.js single-page-application sammy.js