我想在两个条件之一为真时将可见属性绑定为true。当我做一个或另一个绑定而不是当我把类似下面的将可见参数绑定到Knockout中的'或'语句
<tr data-bind="visible: active || $parent.displayDeactive">....</tr>
我的代码的东西工程||在那里。我还没有找到任何文件说我可以在这个绑定中放置任何逻辑,但是如果我不能直接做到这一点,最好的办法是做什么,因为我绑定了一个模板的属性和$的一个对象父视图模型。
我想在两个条件之一为真时将可见属性绑定为true。当我做一个或另一个绑定而不是当我把类似下面的将可见参数绑定到Knockout中的'或'语句
<tr data-bind="visible: active || $parent.displayDeactive">....</tr>
我的代码的东西工程||在那里。我还没有找到任何文件说我可以在这个绑定中放置任何逻辑,但是如果我不能直接做到这一点,最好的办法是做什么,因为我绑定了一个模板的属性和$的一个对象父视图模型。
如果您在表达式中使用observable的值,则需要将它们作为函数引用。所以,如果active
和displayDeactive
是可观察你会怎么做:
data-bind="visible: active() || $parent.displayDeactive()"
有将其移动到视图模型的几种方法,你可以:
因为你正在评估它们,所以在观察结果后面加上parens。
<input type="checkbox" data-bind="checked:displayDeactive"> Display deactive</input>
<br/><br/>
<table>
<tbody data-bind="foreach: products">
<tr data-bind="visible: active() || $parent.displayDeactive()">
<td><span data-bind="text:name"></span></td>
</tr>
</tbody>
</table>
你可以在这里找到完整的代码:http://jsfiddle.net/johnpapa/gsnUs/
你可以对计算表达式(刚才看到的@RPNiemeyer回应与模板化项目使用一个计算属性太...我+1 “D)。
谢谢,我知道这会变得简单。并感谢您在Knockout上的所有工作。我当然很感激它。 – PlTaylor 2012-01-10 13:33:06