Estou tentando atualizar um modelo quando uma fatia do gráfico de pizza é clicada.
Este é o modelo.
<h1>{{slice && slice.name}}</h1>
<h1>{{slice && slice.value}}</h1>
Aqui está uma demonstração. https://stackblitz.com/edit/stackblitz-starters-p8bxjx?file=src%2Fmain.ts,src%2Fecharts.component.ts
Quando um dos segmentos do gráfico de pizza é clicado ele emite um objeto contendo o name
e value
do segmento que foi clicado.
O main
componente recebe isso através do ouvinte onPieSelect
e define a slice
propriedade no main
componente assim:
onPieSelect(e: any) {
console.log('slice clicked', e);
this.slice = e;
}
Podemos observar que o objeto está sendo recebido via log, porém o template não está sendo atualizado.
Alguma ideia?
echarts geram eventos fora do angular e, portanto, os eventos char não acionam a detecção de alterações.
para corrigir isso, envolva o manipulador em uma execução ngzone