【发布时间】:2014-03-22 02:02:11
【问题描述】:
有谁知道如何设置映射选项以使头节点成为可观察的?
例如,如果我有这样的结构:
var myModel = {
table: [{...},{...},{...}]
configOptions: { someoptions... }
otherstuff: thisbecomesanobservable
}
我打电话给
var data = ko.mapping.fromJS(myModel)
由于某种原因,data 不是可观察的,只有树叶是。
这意味着当我稍后调用时
ko.mapping.fromJS(ajaxResponse, {}, data);
而且我需要订阅和依赖数据,但我不能,因为它不可观察。
我现在这样做是为了手动包装它:
if (typeof vm.Table === 'undefined') {
vm.Table = ko.observable();
vm.Table(ko.mapping.fromJS(response.Model));
}
else {
var temp = vm.Table();
ko.mapping.fromJS(response.Model, {}, temp);
vm.Table(temp);
}
但是在每次ajax调用之后都必须把所有这些都放在非常痛苦的地方
有什么建议吗?想法?想法?我怎样才能做到这一点?
谢谢!
【问题讨论】:
标签: knockout.js knockout-mapping-plugin