2016-09-26 39 views
0

我有一個餅圖自定義元素,我希望能夠配置什麼事件發送數據從視圖模型呈現。Aurelia:如何檢測或註冊回調,當自定義元素被加載並準備接口

現在當前的解決方案如下(和感覺有點哈克)

HTML

<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()功能,但這也行不通。我想要做的就是知道何時能夠與視圖模型中的自定義元素進行交互,然後執行此操作。任何提示都表示讚賞。

回答

1

視圖模型的this.pc.event的賦值是否必須在attach()中完成?將它移動到bind(),created()或構造函數怎麼樣?

視圖從視圖模型模型

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

在'綁定設定事件()'和訂閱在''的附着()中的自定義元素事件是正確的答案。謝謝。您可能想要將您的響應代碼塊從'created()'編輯爲'bind()'。再次感謝! –

相關問題