Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用ngx数据表中的ngIf补充布尔不工作_Javascript_Angular_Ngx Datatable - Fatal编程技术网

Javascript 用ngx数据表中的ngIf补充布尔不工作

Javascript 用ngx数据表中的ngIf补充布尔不工作,javascript,angular,ngx-datatable,Javascript,Angular,Ngx Datatable,每当选择ngx数据表中的一行时,就会调用onSelect()isNodeSelected由于某种原因,当选择同一行时,即使它输入了if语句,也不会得到补充isNodeSelected与ngIf一起用于显示按钮。Webstorm突出显示补语语句,并说“缩小为真” onSelect({ selected }) { this.isNodeSelected = true; if (Array.isArray(this.selected) && this.selected.

每当选择ngx数据表中的一行时,就会调用
onSelect()
isNodeSelected
由于某种原因,当选择同一行时,即使它输入了if语句,也不会得到补充
isNodeSelected
ngIf
一起用于显示按钮。Webstorm突出显示补语语句,并说“缩小为真”

onSelect({ selected }) {
    this.isNodeSelected = true;
    if (Array.isArray(this.selected) && this.selected.length === 1) {
      if (this.selected[0].hasOwnProperty('id') && this.selected[0].id === selected[0].id) {
        this.isNodeSelected = !this.isNodeSelected;
      } else if (this.selected[0].hasOwnProperty('id') && this.selected[0].id !== selected[0].id) {
        this.selected = selected;
        this.isNodeSelected = true;
      }
    } else {
      this.selected = selected;
      this.isNodeSelected = true;
    }
  }

如果此函数位于component.ts文件中,则至少需要替换:

onSelect({ selected }) {

因为大括号用于在模板中插入变量值,而不是在代码隐藏中

除此之外,使用调试器逐位检查每个点的值


例如,是否输入第二条if语句,如果输入,则所选[0].id的值是多少。

此方法包含哪些内容?这所指的内容可能有问题。@Jacob
指的是围绕它的类在某一点开始调试的简单方法是放置一个
调试器语句。
onSelect(selected) {