【发布时间】:2013-12-16 08:09:52
【问题描述】:
我是 Knockout.js 的新手,已经非常喜欢它。
假设我正在实施网络博客,并希望使用 Knockout.js 添加/编辑/删除博客帖子 cmets。为此,我用主题、文本和标签定义了 Comment 视图模型(在我的实际应用程序中,我需要更多字段,例如 10 到 20)。
在用户编辑消息并发布到服务器后,我想在屏幕上使用最新值(包括来自服务器的值 - 例如时间戳)刷新它。看来我需要为每个列出的字段提供可观察的(不仅仅是简单的)属性,否则回发后这些值将不会在用户屏幕上刷新。
现在,如果我每条评论有 20 个 observables 并且有 50 个? 100? cmets 在屏幕上,那么它会减慢浏览器的速度吗?移动设备呢?如果是这样,还有其他方法可以实现我想要的吗?
另一个可能的选项是仅将视图模型用于正在编辑的评论。在这种情况下,我需要以某种方式从 html 元素中“取消绑定”其他视图模型 - 例如,删除它并再次渲染。但是在这里我看不到一个好的解决方案。
【问题讨论】:
-
找到这样一个答案的最好方法是编写一个原型并尝试一下。
-
是的,这个简单的想法是在凌晨 3 点 42 分才想到的 :) 我会这样做。但其他人的经历也很有趣。
标签: javascript asp.net asp.net-mvc knockout.js