Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 三元表达式始终为真-不为空_Javascript_Knockout.js - Fatal编程技术网

Javascript 三元表达式始终为真-不为空

Javascript 三元表达式始终为真-不为空,javascript,knockout.js,Javascript,Knockout.js,我有一个html表,以Knockout为边界:(例如,只是表的一部分) 问题是三元表达式工作不正常,它总是像name不是NULL,即使它是NULL,第一部分也总是在执行 我做错了什么?如果名称是可观察的,它永远不会是虚假的;您必须调用它:text:name()?name():''。KO只会在它们不是表达式的一部分时自动为您调用它们。如果name不可观察,则如果更改绑定,则不会重新评估该绑定 还请注意,使用*:text:name()| |“”可以避免两次调用它 *(这是我贫血小博客上的一篇帖

我有一个html表,以Knockout为边界:(例如,只是表的一部分)


问题是三元表达式工作不正常,它总是像
name
不是
NULL
,即使它是
NULL
,第一部分也总是在执行


我做错了什么?

如果
名称
是可观察的,它永远不会是虚假的;您必须调用它:
text:name()?name():''
。KO只会在它们不是表达式的一部分时自动为您调用它们。如果
name
不可观察,则如果更改绑定,则不会重新评估该绑定

还请注意,使用*:
text:name()| |“”
可以避免两次调用它



*(这是我贫血小博客上的一篇帖子。)

应该注意,这是一个三元表达式,不是if语句。请注意,您缺少一个分号,应该是“”@T.J.Crowder非常感谢,是这样的,我不知道我怎么会错过它。。你想把它写下来作为答案,这样我就可以接受了吗?非常感谢!就是这样!谢谢你的解释和想法!!
<tbody>
  <!-- ko foreach: users -->
       <tr><td valign="top"><span data-bind="text: name ? name : '&nbsp;'"></span></td></tr>
  <!-- /ko -->
</tbody>