如何检测或注册自定义元素加载并准备与之交互的回调

Aurelia: How to detect or register callback for when custom element is loaded and ready to interface with

本文关键字:回调 交互 加载 元素 何检测 检测 自定义 注册      更新时间:2023-09-26

我有一个饼状图自定义元素,我希望能够配置哪个事件发送要从视图模型呈现的数据。

目前的解决方案如下(感觉有点粗糙)

<pie-chart ref="pc" event.bind="pc.event"></pie-chart>

    attached() {
       this.pc.event = event_list.MY_EVENT;
   }

饼图自定义元素

  attached() {
    var self = this;
    setTimeout(function(){
      self.subscription = self.eventaggregator.subscribe(self.event, self.setPieData);
    },1000);
  }

这只是让我开始。但是,正如您所看到的,我必须等待页面加载完成,或者等待一秒钟,才能真正设置事件订阅。

我尝试了一些方法,例如使用可绑定属性event的propertyChanged()功能,但这也不起作用。我所要做的就是知道何时能够与视图模型中的自定义元素进行交互,然后这样做。

视图模型的this.pc.event分配是否必须在附件()中完成?将其移动到bind()、created()或构造函数中如何?

bind() {
    this.pc.event = event_list.MY_EVENT;
}