我认为在Aurelia中使用依赖注入时,默认情况下会得到单例。自定义元素的情况似乎并非如此。
假设我有3个自定义元素,名为a、b和c。a和b是兄弟姐妹,是同一页。c是b模板中的一个元素,我正在向a中注入c。
当我这样做时,我在a中得到了一个新的a实例。有办法让c成为单身吗?
下面是一个柱塞示例:http://plnkr.co/edit/Au80u0?p=preview
发布于 2016-02-22 23:06:09
自定义元素不能是单例元素,因为它们可以多次使用,从体系结构上讲,元素可以或将作为单个元素是没有意义的。
假设在一个页面上引用同一元素3次,如果它们是单例而不是预期的自定义元素行为,它们都将具有相同的状态。但是,您可以创建一个共享服务类,您可以注入这个类(并且是一个单例)。
我在我的一个Aurelia项目中所做的是创建一个名为MyCustomElementMediator的类(用元素的名称替换MyCustomElement )。这允许您处理组件的状态。这对于一个自定义元素的多次出现没有意义,但是如果您只在一个地方使用它,则此方法有效。
https://stackoverflow.com/questions/35565566
复制相似问题