敲除数据绑定if else条件

时间:2013-11-01 11:51:43

标签: javascript data-binding knockout.js

在我当前的项目中,我有一个敲除绑定,其中布局高度应根据接收的值应用为true或false。以下是我的绑定代码

data-bind="style: {height: showOld ? '392px' : '275px'}"

showOld正确地提供truefalse,但无论返回什么,它总是需要392px。如果showOld提供true,则392px应返回,否则275px应返回。任何有助于解决此问题的帮助都非常感谢。

由于

1 个答案:

答案 0 :(得分:4)

如果您的showOldko.observable,那么您需要编写showOld()(因为ko.observable是一个函数)才能在表达式中获取其值:

data-bind="style: {height: showOld() ? '392px' : '275px'}"

来自documentation

  

读取 observable的当前值,只需调用observable即可   没有参数。

     

新值写入observable,请调用observable并将新值作为参数传递。例如,调用myViewModel.personName('Mary')会将名称值更改为“Mary”。