2016-07-25 54 views
1

呈現的定製元素是可能的傳遞屬性來奧裏利亞定製元素與@bindable裝飾:爲什麼可綁定裝飾是不尊重當與撰寫

export class ItemCustomElement { 
    @bindable model: Item; 
} 

<item model.bind="model"></item> 

爲什麼通過<compose>呈現定製元素的處理方式不同,根據文檔他們需要一個activate方法來傳遞數據? @bindable不受尊重。

export class ItemCustomElement { 
    @bindable model: Item; 

    activate(model: Item): void { 
     this.model = model; 
    } 
} 

<compose view-model="./item" model.bind="model"></compose> 

從視圖中的自定義元素的角度來看,目前它需要知道它是如何去使用,並可有<compose>與否。我認爲一個定製元素應該與這個外部決定隔離開來。我們可以讓@bindable在這兩種情況下工作嗎?

回答

0

<compose>呈現的自定義元素可以訪問其外部作用域。所以,沒有必要使用@bindable。看到這個例子https://gist.run/?id=fae6b9c9c2e3a608a60522392329bae1

+0

在你的例子中,你如何訪問MyElement類中的someMessage屬性? – zakjan

+0

我可以訪問,因爲它是使用「」進行導入的。在使用撰寫時,該元素可以直接訪問父代的屬性 –

+0

是的,在視圖HTML模板中。我在問視圖模型JS文件。 – zakjan

相關問題