ngSwitch中的Angular 2模板变量未更新

ngSwitch中的Angular 2模板变量未更新,angular,Angular,我有一个变量threadCount,它通过用户输入设置,并在同一页上显示值 它适用于法线插值 <p>Threads: {{threadCount}}</p> 线程:{{threadCount} 但就在下面,我想将其附加到某些线程(如果名称以“-”结尾) 如果在将线程添加到selectedThreads之前定义了I threadCount,则以下操作有效 <p>Threads: {{threadCount}}</p> <p>S

我有一个变量threadCount,它通过用户输入设置,并在同一页上显示值

它适用于法线插值

<p>Threads: {{threadCount}}</p>
线程:{{threadCount}

但就在下面,我想将其附加到某些线程(如果名称以“-”结尾)

如果在将线程添加到selectedThreads之前定义了I threadCount,则以下操作有效

  <p>Threads: {{threadCount}}</p>
  <p>Selected LFKs:
    <span *ngFor="let lfk of selectedLFKs; let isLast=last; ">
      <span [ngSwitch]="lfk">
        <span *ngSwitchCase="lfk.charAt(lfk.length -1) === '-'">{{lfk}}{{threadCount}}{{isLast ? '': ', '}}</span>
        <span *ngSwitchDefault>{{lfk}}{{isLast ? '': ', '}}</span>
      </span>
    </span>
  </p>
线程:{{threadCount}

选定的LFK: {{lfk}}{{threadCount}{{isLast?''':'','}} {{lfk}}{{isLast?'':'','}}

用户更改threadCount后,将更新第一个threadCount插值,但ngFor和ngSwitch中的插值不会更新

  • 正确的方法是什么
  • 最简单的方法是什么

  • 在一次愉快的午休和一些乒乓球之后,我意识到这应该在组件中完成

    我没有使用字符串数组,而是将每个数组都设置为对象,以便添加一个布尔属性“threadCount”。这样,在我的*ngFor中,我检查threadCount属性,并适当地附加thread count编号