Knockout.js 1.3.0使用无容器控制流时的IF语句语法

Jag*_*Jag 1 syntax knockout.js

以下是Steve Sanderson博客在淘汰赛中演示无容器IF语句的例子:

<h3>Products</h3>

<ul>
    <li><strong>Here is a static header item</strong></li>
    <!-- ko foreach: products -->
    <li>
        <em data-bind="text: name"></em>
        <!-- ko if: manufacturer -->        
            &mdash; made by <span data-bind="text: manufacturer.company"></span>
        <!-- /ko -->
    </li>
    <!-- /ko -->
</ul>
Run Code Online (Sandbox Code Playgroud)

我如何使IF语句更复杂.我正在尝试以下操作,它不起作用(总是返回false):

<!-- ko if: PlanStateName == 'Draft' -->
<div>This plan is a draft!</div>
<!-- /ko -->
Run Code Online (Sandbox Code Playgroud)

如何实现这一目标?

Jag*_*Jag 5

所以事实证明我犯了一个菜鸟错误.这是工作代码:

<!-- ko if: PlanStateName() == 'Draft' -->
<div>This plan is a draft!</div>
<!-- /ko -->
Run Code Online (Sandbox Code Playgroud)

由于变量是由knockout组成的,因此需要PlanStateName上的括号来访问基础数据.