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

Syntax 使用无容器控制流时的Knockout.js 1.3.0 IF语句语法,syntax,knockout.js,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="te

下面是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>
产品
  • 这里是一个静态标题项
  • &mdash;制造者
我如何使IF语句更复杂。我正在尝试以下操作,但不起作用(始终返回false):


这个计划是草案!

如何实现这一点?

您需要用{}包围逻辑语句


请参见

您需要用{}包围逻辑语句


原来我犯了一个新手错误。以下是工作代码:

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

这个计划是草案!

由于变量是通过敲除包装的,因此需要PlanStateName上的括号来访问底层数据。

因此,我犯了一个新手错误。以下是工作代码:

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

这个计划是草案!

由于变量被敲除,因此访问基础数据需要PlanStateName上的括号。

我5个小时内无法回答我的问题,但在此之前,这里有一条评论!我需要在变量名上加括号:PlanStateName()==‘Draft’有效。我在5个小时内无法回答我的问题,但在此之前,这里有一条评论!我需要在变量名上加括号:PlanStateName()==“Draft”有效。谢谢你的提示。我用无容器IF语句尝试了这一点,但它不起作用。不确定这是否被视为ko.js错误。这对我有用。很抱歉,第一次没有给你正确的演示。Xbox之后我的小提琴没有显示任何东西,大概是因为索尼产品的破损(无容器if声明是这样的)。我在Chrome和FireFox上试用过。你用的是什么浏览器?实际上,XBox就是它显示的全部内容。这是一个快速回答你问题的应用程序。我用铬。。感谢您花时间构建不同的数据结构!谢谢你的提示。我用无容器IF语句尝试了这一点,但它不起作用。不确定这是否被视为ko.js错误。这对我有用。很抱歉,第一次没有给你正确的演示。Xbox之后我的小提琴没有显示任何东西,大概是因为索尼产品的破损(无容器if声明是这样的)。我在Chrome和FireFox上试用过。你用的是什么浏览器?实际上,XBox就是它显示的全部内容。这是一个快速回答你问题的应用程序。我用铬。。感谢您花时间构建不同的数据结构!很高兴你找到了。即使有经验,这也是使用KO最容易犯的错误。很高兴你找到了它。即使有经验,这也是使用KO最容易犯的错误。