我有两个服务(A和B)在彼此之间进行通信,A必须在另一个服务接收到异步数据时创建图表(这些数据在其他地方使用,因此B是独立的)。我试图转移我做什么与组分A到它的服务,但它看起来像我不能让访问组件的模板:服务是否可以访问组件的模板
@Injectable()
export class HistoricGraphService {
... // doing stuff
onNewData() {
const canvas = <HTMLCanvasElement>document.getElementById('historic-chart');
const ctx = canvas.getContext('2d');
... building the chart based on datas, timestamp and much more
}
}
问题心不是周围的DATAS,制作图表时工作这个方法在组件A中使用,我想知道为什么我不能使用相同的过程从我的模板中获取元素。
不是本身,而是可以注入组件和组件的服务可以传递给服务,但这不应该是必需的。访问模板应该由组件完成。只需从服务向组件发送关于应该执行的操作的命令 –