我正在尝试使用 knockout 来呈现以下内容。

<!-- ko with: address-->
<!-- ko if: address1-->
<span style="display : block">
<span data-bind="varchar : address1"></span>
</span>
<span style="display : block">
<span data-bind="varchar : address2"></span>
</span>
<!-- /ko -->
<!-- /ko -->

问题在于,即使存在地址对象,它也可能不包含address1参数。
如果参数'address1'为null,我希望挖空不呈现嵌套范围。
当前引发以下错误:
Unable to parse bindings. Message: ReferenceError: address1 is not defined;

任何帮助,不胜感激。

最佳答案

如果不是第二个例子,那是不是一种情况?

<!-- ko with: address -->
<span style="display : block">
<!-- ko if: address1 -->
<span data-bind="varchar : address1"></span>
<!-- /ko -->
</span>
<span style="display : block">
<span data-bind="varchar : address2"></span>
</span>
<!-- /ko -->

看来我们需要查看您的viewModel以及地址如何相互关联。我可以在剔除页面的样本上做到这一点,而不会出现任何问题:
<h1 data-bind="text: city"> </h1>
<p data-bind="with: coords">
    <!-- ko if: latitude -->
    Latitude: <span data-bind="text: latitude"> </span>,
    <!-- /ko -->
    Longitude: <span data-bind="text: longitude"> </span>
</p>

关于knockout.js - knockout js-检查属性是否存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9476224/

10-12 13:39