【问题标题】:ko.mapping.toJSON 2 way binding doesn't seem to be workingko.mapping.toJSON 2 方式绑定似乎不起作用
【发布时间】:2023-03-25 23:15:01
【问题描述】:

我在下面有一个带有 ko 绑定的 html。

<ul data-bind="foreach: ViewModel">
<li data-bind="text: name">                       
</li>
</ul>
<input type="hidden" data-bind="value:id"/>

当我更改列表时,隐藏的字段会正确更新。但是,当我单击表单上的提交按钮时,POST 不会发送新更新的内容 视图模型。它发送检索到的旧的。

当我从服务器获取数据时,我使用了这个:

ko.mapping.fromJS(data, {}, viewModel)

在我发帖之前我已经这样做了:

ko.mapping.toJSON(viewModel)

我已应用正确的ko.applyBindings。这可能是 ko.Mapping 的错误还是我在这里缺少的东西?

【问题讨论】:

  • 如果没有看到更多代码,就不可能说出问题所在。你能在 jsfiddle 中做一个模型来显示更多代码吗?一个问题,如果你在进行 json 提交,为什么还要使用隐藏字段?

标签: knockout.js knockout-mapping-plugin


【解决方案1】:

您是否尝试过这样做:

ko.toJSON(viewModel);

我认为您不需要在将对象发送到 JSON 之前取消映射...

【讨论】:

  • ko.mapping 支持数组吗?由于我们从服务器获取的 JSON 包含数组的集合。我怀疑 ko.mapping 无法进行 2 路绑定?
  • 能否请您发布您的 viewModel 的代码,以便我们更好地了解情况?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-12
  • 2010-11-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多