我似乎有一个奇怪的错误,我不确定这是否是我的假设在这里是不正确的,但是没有关于这个主题的文档。
因此,当您创建自定义元素/属性并在该类上设置成员时,它们是按用途使用的,因此这些自定义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。
答案 0 :(得分:5)
在Aurelia,价值转换器和绑定行为是单身人士。他们应该是无国籍的。某些类型的绑定行为可能需要跟踪某些状态,将该状态存储在绑定实例上的最佳位置(传递给绑定行为&#39; s bind
和unbind
方法)。