2016-06-10 91 views
1

在Aurelia.js中,我看到了人们如何注入依赖关系的差异示例,但是还没有找到关于何时明确包含注入注释或按原样使用注释的明确答案。何时注入依赖关系或在Aurelia中如何使用?

例如:

import {inject} from 'aurelia-framework'; 
import {X} from 'X'; 
@inject(X) 
export class Y { 
    constructor(X) { 
     this.x = X; 
    } 
} 

import {X} from 'X'; 
export class Y { 
    constructor() { 
     this.ABC = someMethod(X); // using X without inject 
    } 
} 

为什么有人会选择一个比其他?

+0

如果我的回答对您有所帮助,请给予好评并接受:) –

回答

2

如果import X from 'X';如果X是一个类,而不是一个类的实例,则应该使用依赖注入来允许Aurelia为您提供该类的一个实例。

有时虽然模块导出函数导出对象实例。在这些情况下,您不应该使用DI。

+0

这是正确的答案。 –

4

依赖注入实际上是Aurelia完全拥抱的design pattern。虽然你不是被迫采用这种模式,但它是一种最佳实践,因为你遇到的大多数Aurelia源代码都将遵循这种模式。核心团队成员Jeremy Danyow分两篇撰写了关于这个主题的精彩文章,我将在下面链接。

控制与Aurelia路上由Jeremy Danyow反转:Part 1Part 2

+0

如果这个答案是有用的,user2874945,请upvote和接受,我会很高兴 –

相关问题