2016-12-08 14 views
2

我似乎有一个奇怪的错误,我不确定这是否是我的假设,在这里是不正确的,但没有关于这个主题的文档。aurelia是否使用自定义绑定行为类作为单例?

所以,当你自定义的元素/属性,你对类设置的成员,他们是每次使用,所以这些定制attr的每次使用/元将有自己的类的实例去用它。

但是它目前看来,使用结合行为在类被认为结合行为的所有使用之间共享,与bind方法是隔离的点。

我这样说是因为我假设他们都被设置为每次使用的实例,并且在这种情况下,某些异步逻辑正在从类上最后使用的绑定行为中获得一个值,即this.someClassStateVar

因此,谁能确认是否奥里利亚在单身范围使用绑定的行为?

===编辑===

基于第一个答案,我想确认场景:

<section with-binding.bind="something"> 
    <input value.bind="somethingElse & someBindingBehaviour"> 
    <input value.bind="somethingElse2 & someBindingBehaviour"> 
</section> 

所以我期待会有someBindingBehaviour类的2个实例,并且每个将适用到相关的输入,但我看到的行为是他们都使用someBindingBehaviour类的相同实例。

回答

4

在奥里利亚,值转换器和结合行为是单例。他们应该是无国籍的。某些类型的绑定行为可能需要跟踪某个状态,存储该状态的最佳位置是绑定实例(传递给绑定行为的bindunbind方法)。

+0

这是不错,但真的可以用把文档中,我感到莫名其妙下手做,为什么它的表现不同,以自定义的元素和属性这不是无状态的。 – Grofit

相关问题