Aurelia 什么是“静态注入”`

Aurelia 什么是“静态注入”`,aurelia,Aurelia,我在中找到了这行代码 这是完整的课程: import {Prompt} from './prompt'; import {DialogService} from '../dialog-service'; export class CommonDialogs { static inject = [DialogService]; constructor(dialogService){ this.dialogService = dialogService; }

我在中找到了这行代码

这是完整的课程:

import {Prompt} from './prompt'; 
import {DialogService} from '../dialog-service'; 

export class CommonDialogs { 

   static inject = [DialogService]; 

   constructor(dialogService){ 
   this.dialogService = dialogService; 
   }  


     prompt(question){ 
     return this.dialogService.open({viewModel:Prompt, model:question}); 
     }; 
} 

静态注入
在做什么?我知道它正在将对话服务注入构造函数中。但是为什么要用这种方式而不是通常的注入方式呢?

正如您链接到的博客文章所提到的,
静态注入
是进行依赖项注入的原始方式。一旦Babel开始支持decorators,我们就实现了
inject
decorator,以使Aurelia代码看起来更好一些。在封面下,它只是简单地将
inject
属性添加到运行时的类()。

我从Rob那里找到了这一点,这解释了一点:
import {Prompt} from './prompt'; 
import {DialogService} from '../dialog-service'; 

export class CommonDialogs { 

   static inject = [DialogService]; 

   constructor(dialogService){ 
   this.dialogService = dialogService; 
   }  


     prompt(question){ 
     return this.dialogService.open({viewModel:Prompt, model:question}); 
     }; 
}