knockout.js - knockout js-检查属性是否存在

标签 knockout.js

我正在尝试使用 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/

相关文章:

JQuery $.ajax({}) - ajax 解析错误和 knockout

javascript - jQuery datepicker - knockout 绑定(bind)设置初始日期

javascript - JS/CSS/HTML 中的动态布局

javascript - 如何用文本绑定(bind)中的换行符替换 char ↵?

javascript - 您不能对同一个元素多次应用绑定(bind)

javascript - 我如何访问requirejs中定义之外的变量

optimization - 在评估数据绑定(bind)时, knockout 是否针对逻辑运算符进行优化?

javascript - 从 knockoutJS 中的 observableArray 中删除自身

jquery - Knockout.Js 无法检测以编程方式更改的复选框状态

javascript - 将 data-bind 属性添加到 bootstrap-treeview 节点以进行 Knockout