Knockout.js 加上「;待定“;如果值为空

Knockout.js 加上「;待定“;如果值为空,knockout.js,Knockout.js,我拥有以下财产: self.property= ko.observableArray([]); 以及HTML: <div data-bind="foreach: pvm.property, visible: pvm.property().length"> <p data-bind="text: address"></p> </div> 如果pvm.property为空,如何显示“TBD”值?当属性数组有长度时,可以显示该元素,这意

我拥有以下财产:

self.property= ko.observableArray([]);
以及HTML:

<div data-bind="foreach: pvm.property, visible: pvm.property().length">
    <p data-bind="text: address"></p>
</div>


如果
pvm.property
为空,如何显示“TBD”值?

属性
数组有长度时,可以显示该元素,这意味着当
属性
数组没有长度时,可以对另一个元素执行相同的操作


待定

为了改善用户体验,您可以使用CSS隐藏其中一个(或两者),直到绑定实际运行为止。这将防止元素在页面加载和视图模型加载之间的瞬间跳跃。

属性
数组具有长度时,可以显示元素,这意味着当
属性
数组没有长度时,可以对另一个元素执行相同的操作


待定

为了改善用户体验,您可以使用CSS隐藏其中一个(或两者),直到绑定实际运行为止。这将防止元素在页面加载和视图模型加载之间的瞬间跳跃。

您还没有真正解释“优雅解决方案”的含义。一种方法可能是不使用
visible
隐藏元素,而是创建一个css类,该类执行自定义样式,并使用
::after
伪元素作为空状态内容

var i=0;
var项目=ko.可观察资产负债表([]);
var add=函数(){
项目推送(++i);
};
ko.applyBindings({
项目:项目,,
加:加
});
。为空::之后{
内容:“待定”;
}


添加项目
您还没有真正解释“优雅解决方案”的含义。一种方法可能是不使用
visible
隐藏元素,而是创建一个css类,该类执行自定义样式,并使用
::after
伪元素作为空状态内容

var i=0;
var项目=ko.可观察资产负债表([]);
var add=函数(){
项目推送(++i);
};
ko.applyBindings({
项目:项目,,
加:加
});
。为空::之后{
内容:“待定”;
}


添加项目
另一个只有TBD的可观察对象如何。然后数据绑定,比如
databind='foreach:courses()。长度>0?课程:清空课程“


这是一把小提琴

另一个有TBD的可观察物怎么样。然后数据绑定,比如
databind='foreach:courses()。长度>0?课程:清空课程“


这是一把小提琴

使用
可见:pvm.property()添加同级
。长度===0
我正在寻找一个更优雅的解决方案,因为我需要添加4个div。使用
可见:pvm.property()添加同级
.length===0
我一直在寻找一个更优雅的解决方案,因为我需要添加4个div。非常感谢,第一个选项很好地工作,但我希望避免将文本(“TBD”)放入ccs,但第二个选项无法工作。你能帮我吗?非常感谢。我包含了另一个代码片段,它显示了第二个选项工作得非常好!非常感谢。非常感谢,第一个选项很好地工作,但我想避免在ccs中放置文本(“TBD”),但第二个选项无法工作。你能帮我吗?非常感谢。我包含了另一个代码片段,它显示了第二个选项工作得非常好!非常感谢。