使用挖空检查是否未定义
Using Knockout to check if undefined
我有一个模板,我想根据正在使用的控件使用不同的 HTML 位:
<!-- ko if: Value -->
........
<!-- /ko -->
<!-- ko ifnot: Value -->
........
<!-- /ko -->
此代码的目的是在定义Value
时选择第一个位,如果未定义,则选择第二个位。但是,这总是会导致绑定错误:Value is not defined
我相当确定错误只是检查控件是否已定义Value
。
有没有更好的方法来使用这些 if 语句来检查是否定义了绑定?
如果确实未定义Value
,则可以使用$data.Value
来避免"未定义"错误。
您可以使用动态模板。在视图模型中:
self.valueRenderer = ko.computed(function () {
return ko.unwrap(self.Value) ? "valueTemplate" : "noValueTemplate";
});
在 HTML 中:
<div data-bind="template: valueRenderer"></div>
<!-- ... -->
<script type="text/html" id="valueTemplate">
<!-- some complex template... -->
</script>
<script type="text/html" id="noValueTemplate">
<div>There is no value...</div>
</script>
相关文章:
- 检查对象的所有属性是否未定义
- AngularJs 检查是否未定义和空的最佳实践
- 离子警报 - 检查结果是否未定义
- 什么更快?运行空函数或检查函数是否未定义
- Jquery Ajax 和 Json:如何检查是否未定义
- 函数返回undefine,即使我在返回之前检查了变量是否未定义
- 在执行脚本之前,请查看对象是否未定义
- 如何进行单元测试以查看角度是否未定义
- 为什么我无法检查对象节点是否未定义
- 检查变量是否未定义不起作用
- 如何检查评估名称是否未定义
- 使用挖空检查是否未定义
- 时间微调器检查是否未定义不起作用
- 检查在.ech()内部使用jQuery.find()时是否未定义
- 检查两个变量是否未定义
- ReferenceError: Can't find variable: google"检查是否未定义
- 检查对象参数是否未定义
- 为什么这个检查抛出错误,即使我事先检查了它是否未定义
- 如何检查文字中的属性是否未定义
- 如何检查元素是否未定义