2016-07-25 57 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

相关问题