gpt4 book ai didi

javascript - 使用 KnockoutJS 将 JSON 对象映射到 View 模型的一部分

转载 作者:行者123 更新时间:2023-12-02 18:19:58 26 4
gpt4 key购买 nike

我在构建由服务器中的一些数据和手动添加的一些数据组成的 View 模型时遇到问题。

我从下面的代码中不断发现 m() 未定义: JSFiddle

function getServerData()
{
var m =
{
FlowID:5,
Amount:120
};
return m;
}

var entity = getServerData();

var vm =
{
m: ko.mapping.fromJS(entity),
x: ko.observable("additional prop")
};

ko.applyBindings(vm);

我尝试按如下方式绑定(bind)它:

<input data-bind="value: x()" />
<input data-bind="value: m().FlowID" />
<input data-bind="value: m().Amount" />

最佳答案

映射插件不会将您的对象仅转换为可观察的属性。

因此,在 ko.mapping.fromJS(entity) 调用之后,m 将不再是 ko.observable

所以你只需要写:

<input data-bind="value: m.FlowID" />
<input data-bind="value: m.Amount" />

演示 JSFiddle .

如果您想让原来的绑定(bind)工作,那么您需要更改您的vm:

var vm = 
{
m: ko.observable(ko.mapping.fromJS(entity)),
x: ko.observable("additional prop")
};

关于javascript - 使用 KnockoutJS 将 JSON 对象映射到 View 模型的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18924487/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com