受保护的可观察对象需要传递给函数的参数,例如:
var item = function(param)
{
var me = this;
me.itemProtected = ko.protectedObservable(param);
}
我不知道KO映射插件的内部工作原理,但如果我用它将Json数据映射到我的受模型保护的可观察对象,那就不起作用了。我假设它只将属性映射为可观察性,而完全忽略受保护的可观察器。绑定语法:
ko.mapping.fromJSON(data, null, viewModel);
有没有一种方法可以映射json数据并保留受保护的可观察数据?
我们将非常感谢你的帮助。
ViewModel = function(data)
{
this.itemProtected = ko.protectedObservable();
return ko.mapping.fromJS(data, {}, this);
}
JSON数据当然需要有一个名为itemProtected的成员才能工作
编辑:免责声明,我不知道什么是protectedObservable,它不是核心KO库的一部分。
编辑:
- 解决方案1:http://jsfiddle.net/LFCWe/需要提交json数据
- 解决方案2:http://jsfiddle.net/LFCWe/1/这把小提琴使用了create方法,因此JSON中的值将直接提交