使用 KnockoutJS 将 JSON 对象映射到视图模型的一部分
Mapping a JSON object to part of a view model using KnockoutJS
我在构建一个视图模型时遇到问题,该模型由来自服务器的一些数据和一些手动添加的数据组成。
我一直从下面的代码中得到 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);
我正在尝试按如下方式绑定它:
<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。
如果你想让你的原始装订工作,那么你需要改变你的vm
:
var vm =
{
m: ko.observable(ko.mapping.fromJS(entity)),
x: ko.observable("additional prop")
};
相关文章:
- 如何在视图模型contet更新更新上调用Jquery函数
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- 在MVVM视图模型中处理应用程序范围的元素
- 将c#视图模型转换为javascript模型时转义HTML标记
- 使用knockout.js将数组绑定到视图模型
- 将js对象更改为使用嵌套的可观察数组敲除js视图模型
- 聚合物:在不同的视图模型中多次使用元素
- 使用AMD时未定义淘汰组件视图模型
- 如何在Knockout.js中选中复选框时更新视图模型及其依赖项
- 无法将对象列表从视图模型设置为 javascript 变量
- 挖空视图模型函数仅影响最后一个实例
- 挖空.js嵌套视图模型不起作用
- 为什么我的视图模型不起作用
- 挖空、视图模型位于其他对象和数据绑定中
- 如何将经度/经度值绑定到挖空视图模型方法
- 挖空.js:等待视图模型实例化完成
- 在Knockout视图模型中调用jQuery插件是一种有效的模式
- KnockoutJS:如何避免在applyBindings上运行视图模型函数
- 使用knockoutjs操作视图模型
- Kendo UI自定义验证不适用于模板和视图模型