淘汰条件绑定奇怪的行为
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了淘汰条件绑定奇怪的行为相关的知识,希望对你有一定的参考价值。
我希望在接到未接来电时显示未接来电图标,所以为此我维持一个未接来电列表,我将其与当前ID进行比较,如下所示
<div class="col m1" data-bind="visible:$component.missedCallList().indexOf($data._id)>=0">
<img src="${require(`./../../../../icons/icon-missed-call.svg`)}" alt="" class="responsive-img _badges">
</div>
但是,当列表更新或为空时,可见性不会切换。 所以在某个事件上,我正在删除条目,如
removeFromList(index){
if (index >= 0) {
this.missedCallList().splice(index, 1)
}
}
但它没有在UI上更新。
答案
当你打电话给()
时,你不需要splice
。而是直接在可观察数组上调用splice
。
EG
missedCallList.splice(index, 1)
同样在你的代码中this
可能指的是remove函数,它可能应该引用父missedCallList
属性。您可以将this
设置为父作用域中的另一个变量,并从函数中访问该变量。
EG
var self = this;
function removeFromList(index) {
if (index >= 0) {
self.missedCallList.splice(index, 1);
}
}
以上是关于淘汰条件绑定奇怪的行为的主要内容,如果未能解决你的问题,请参考以下文章
使用制服时 Xamarin OpenGL 片段着色器的奇怪行为