Knockout JS 将元素的属性绑定到另一个元素

Posted

技术标签:

【中文标题】Knockout JS 将元素的属性绑定到另一个元素【英文标题】:Knockout JS binding element's property to another element 【发布时间】:2018-06-04 23:46:15 【问题描述】:

我正在尝试将我选择的类别的guid 属性绑定到另一个ko.observable 元素。我需要保存该数据值,以便以正确的JSON 格式将其发送到服务器。

Jsfiddle

为了出现在JSON 文件中

'SelectedCategoryGuid': 'guid1'

我在html 中尝试了$data$root 绑定,但无法实现。

【问题讨论】:

我只在阅读我想要而不是我被卡住。你也可以分享一下这个问题吗? 我被困在将选定数据的值绑定到另一个对象 【参考方案1】:

第 1 步:删除 value 数据绑定周围的引号。您应该在此处传递对可观察对象的引用,而不是属性的名称。

value: Info.SelectedCategoryGuid

现在,您将看到您的指导段落打印:[object Object]。这是因为它存储了整个类别,而不仅仅是Guid

第 2 步:要仅存储 Guid 属性,请使用 optionsValue 绑定。此绑定的工作方式类似于您已经使用的 optionsText 绑定:

optionsValue: 'Guid'

现在事情开始按预期进行。您会注意到最初的 bla 值被清除了,因为它没有出现在您的数据集中。

这是小提琴中的两个变化:https://jsfiddle.net/40sh1vjj/

【讨论】:

以上是关于Knockout JS 将元素的属性绑定到另一个元素的主要内容,如果未能解决你的问题,请参考以下文章

knockout.js--基本用法

有条件地在 knockout.js 中添加元素属性

Knockout JS 如何将数据绑定到静态表单元素

Knockout.js v2.3.0 错误“您不能将绑定多次应用于同一元素”

Knockout js绑定可空对象的属性

如何使用 Knockout Mapping 将一个属性映射到另一个属性?