Angular 2模板var在ngSwitch中不更新

时间:2017-03-21 18:55:06

标签: angular

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

它适用于普通插值

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

但正好在下面,我想将它附加到某些线程(如果名称以' - '结尾)。

如果在将线程添加到selectedThreads

之前定义了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,第一个threadCount插值就会更新,但ngFor和ngSwitch里面的插值不会更新。

  1. 这样做的正确方法是什么?
  2. 最简单的方法是什么?

1 个答案:

答案 0 :(得分:0)

在一个愉快的午休时间和一些乒乓球之后,我已经意识到这应该在组件中完成。

我没有使用字符串数组,而是将每个字符串数组作为一个对象,以便我可以添加一个布尔属性&#34; threadCount&#34;。这样,在我的* ngFor中我检查了threadCount属性并适当地附加了线程计数。