javascript - knockout 复杂变量不绑定(bind)

标签 javascript knockout.js

我用我的代码做了一个jsfiddle http://jsfiddle.net/dorraba/HuDPJ/ 我想创建一个简单的购物车,可以在其中添加和删除项目。 我的意图是产品将是一个对象(名称和价格) 购物车将包含一个项目列表,其中每个项目都是根据产品和数量构建的。

我的问题是我找不到通过每行下拉列表中选择的产品设置文本框价格的方法。

任何帮助都会很棒。 谢谢。

最佳答案


您应该对输入元素使用值绑定(bind),否则您将收到 DOM 错误。

此外,您已将选项绑定(bind)的 optionsValue 属性设置为 'Name',这将导致 knockout 将 ShoppingCartItem.Product 的值设置为产品名称。

如果父项(在本例中为 Price)计算结果为未定义,则绑定(bind)到 Product.Price 等嵌套属性将导致错误。 因此,您需要测试 Product 是否已定义...如下所示: data-bind="value: (Product() ? Product().Price : '')"

这是您的 jsfiddle 的工作解决方案:http://jsfiddle.net/HuDPJ/1/

关于javascript - knockout 复杂变量不绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10070280/

相关文章:

javascript - 如何告诉 elm 有关外部 DOM 更改的信息

JavaScript:解析奇数字符串以获取必要的信息(RegEx)

javascript - 使用 localStorage 中的存储值加载 Knockout Observable

json - knockout 绑定(bind)可选字段

jquery - 如何使用 Knockoutjs + Bootstrap Carousel 获取当前元素索引

javascript - 在信息窗口谷歌地图 v3 中添加事件处理程序元素

javascript - 当选择框更改时调用 Controller 方法

javascript - 是否有可能将 react 上下文注入(inject) react 中根外的div(在 body 下方)

javascript - ko.dependentObservable 这个方法如何巧妙地理解依赖关系?

javascript - 计算的可观察更改不会更新 UI 中的标题属性(使用 Knockout-bootstrap.js)