我是否总是过度使用Knockout映射插件来完成我的视图模型?
- 论坛
- 我是否总是过度使用Knockout映射插件来完成我的视图模型?
9 浏览
我是否总是过度使用Knockout映射插件来完成我的视图模型?
我仍在学习正确使用Knockout,发现自己很快就能远离每次设置视图模型时都要输入ko.observable
,而是只需定义一个对象字面量,并通过映射插件传递它,例如:
var viewModel = ko.mapping.fromJS(data);
或者至少,将所有数据都放入viewModel的一个属性中,例如:
var viewModel = { ... 事件等... , "data": ko.mapping.fromJS(data) }
老实说,我这样做的主要原因是为了避免重复输入ko.observable
和ko.observableArray
。我只是想弄清楚这是否是一个好的方法,是否有任何不使用具体的var x = ko.observable()
声明的缺点。此外,我所有的操作都是在加载时完成的,而不是响应任何ajax调用等,从我所了解的来看,这就是映射插件的设计目的。
在您使用Knockout的工作中,您是否仍然手动逐个声明observables,还是采用了我使用的mapping.fromJS方法?频繁使用映射插件是否有任何具体的缺点?
编辑:
具体示例
在这篇文章中,Steve通过以下方式设置他的viewModel:
var initialData = [ { ... } , { ... } ]; // 来自序列化器的JSON var viewModel = { gifts : ko.observableArray(initialData) };
通常,我也会在这种情况下使用ko.mapping.fromJS
,特别是为了确保数组中的对象也被转换为observables。看他的做法,我觉得我的方法似乎有点过头,并且增加了一些不必要的开销。