aurelia是否将自定义绑定行为类用作单例?

时间:2016-12-08 12:39:09

标签: javascript aurelia aurelia-binding

我似乎有一个奇怪的错误,我不确定这是否是我的假设在这里是不正确的,但是没有关于这个主题的文档。

因此,当您创建自定义元素/属性并在该类上设置成员时,它们是按用途使用的,因此这些自定义attr / elements的每次使用都将拥有自己的类实例。

然而,目前似乎在使用绑定行为时,该类在该绑定行为的所有使用之间共享,bind方法是隔离点。

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

那么有人可以确认Aurelia是否在单例范围内使用绑定行为吗?

===编辑===

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

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

所以我期待有someBindingBehaviour类的2个实例,每个实例都适用于相关输入,但我看到的行为是它们都使用{{1}的相同实例} class。

1 个答案:

答案 0 :(得分:5)

在Aurelia,价值转换器和绑定行为是单身人士。他们应该是无国籍的。某些类型的绑定行为可能需要跟踪某些状态,将该状态存储在绑定实例上的最佳位置(传递给绑定行为&#39; s bindunbind方法)。