【问题标题】:knockout.js - data-bind value with defaultknockout.js - 默认的数据绑定值
【发布时间】:2015-04-16 23:07:45
【问题描述】:

在 knockout.js 中,我有一个如下的数据绑定

<input id="lbl" type="text" data-bind="value: $data.quantity" />

在这里我想有一个条件,比如如果 $data.quantity 为 0,我需要用空文本绑定,所以有人可以帮助我

【问题讨论】:

  • $text 是什么?你的意思是$data.quantity

标签: data-binding knockout.js


【解决方案1】:

只需使用三元表达式:

<input id="lbl" type="text" data-bind="value: quantity() ? quantity() : ''" />

以上假设您的 quantity 属性是可观察的,如果不是:

<input id="lbl" type="text" data-bind="value: quantity ? quantity : ''" />

Fiddle

【讨论】:

  • inline code in view 总是最好避免它。如果我们可以在这里使用计算,它将更加清洁和可维护。干杯。
  • 这个是个人风格问题,条件很短很清楚,不涉及其他模型数据,computed这个就过分了。
  • 我可以这样写&lt;input id="lbl" type="text" data-bind="value: $data.quantity?$data.quantity:""" /&gt;
  • 差不多。 1. 为什么是$data2. 不能在data-bind 的属性值中使用",因为它已经被" 包裹,而是替换为'value: $data.quantity?$data.quantity:''
  • 我正在绑定来自数据库调用的数据,所以 $data value:data-bind="value: $data.quantity?$data.quantity:'' 这没有用
猜你喜欢
  • 2012-05-21
  • 2016-10-07
  • 1970-01-01
  • 2017-01-07
  • 1970-01-01
  • 1970-01-01
  • 2021-08-03
  • 2015-04-01
  • 1970-01-01
相关资源
最近更新 更多