Pesquisa de site

typescript - erro 'Expressão do Angular 2 mudou após ter sido verificada' como resultado da adição da barra de rolagem


Eu tenho uma função getter que retorna o offsetWidth de uma parte de um componente. Em algum momento, a página é populada com elementos que acionam a adição de uma barra de rolagem à página. A adição da barra de rolagem altera o layout da página em alguns pixels e muda a largura do meu componente, que está definido como width:100% no CSS. Aparentemente, a mudança de layout ocorre dentro do ciclo de detecção de mudanças.

O problema é que minha função getter então retorna um valor diferente porque sua largura de fato mudou junto com a alteração do layout da página, e isso dispara o ExpressionChangedAfterItHasBeenCheckedError.

Aqui está a minha função:

get width() {
    return this.track.nativeElement.offsetWidth;
}

Qual é uma maneira de contornar ou suprimir esse erro?