繁体   English   中英

剔除条件绑定异常行为

[英]knockout conditional binding weird behavior

我想在接到未接来电时显示未接来电图标,为此,我要维护已收到未接来电的列表,并将其与当前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

例如

missedCallList.splice(index, 1)

另外,在你的代码this可能是指删除功能时,可能应该指的是父母missedCallList财产。 您可以设置this在父范围内另一个变量,并访问从函数中。

例如

var self = this;

function removeFromList(index) {
  if (index >= 0) {
    self.missedCallList.splice(index, 1);
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM