![]() |
1
2
我稍微更改了你的代码。检查此版本的 JSFiddle 。
您的代码无法工作,因为您的jsonFromServer变量不包含绑定时所需的方法,如您在问题中所述。(-->Metadata) 因此,我们需要在映射过程中为元数据对象定义一个自定义的创建函数,如下所示:
然后我把你的加载函数改为:
您不必声明新的viewModel并再次调用ko.applyBindings。将更新后的映射分配给当前视图模型就足够了。有关详细信息,请查看 this link .注意自定义对象构造部分。
据我所知,用你的对象实现并没有简单的方法。你的物品并不简单。它们同时包含数据和函数。因此,您需要为它们定义自定义创建功能。但如果你能像下面这样将其分离,那么你就不必自定义对象构造了。 例如,将MetadataViewModel分离为两个不同的对象:
使用此结构,您可以调用ko.mapping.fromJSON(newMetaDataArray,{},MetadataViewModelInstance.MetadataArray),而无需在映射过程中定义自定义创建函数。 |
![]() |
jonasjuss · 自定义过滤淘汰js observableArray 10 年前 |
![]() |
gdefilippi · 剔除筛选绑定 10 年前 |
![]() |
Don Chambers · 淘汰可观测物阵列 10 年前 |