Naj*_*sen 10 import dependency-injection angularjs ecmascript-6
我最近使用AngularJS和ES6创建了一个新项目.这是我的第一个ES6项目,我对它的import语句非常满意.以前我必须使用AngularJS依赖注入才能在我的应用程序逻辑中使用不同的服务.现在我可以使用ES6导入轻松导入不同的服务.问题是我是否允许编写非角度服务并使用它们导入它们import,或者我必须以角度服务(或工厂)格式编写它们,并使用依赖注入来导入?
角度依赖注入是一种为组件提供依赖关系而不是在组件内对其进行硬编码的方法.这样可以减轻组件定位依赖关系的负担,并使依赖关系可配置.
ES6导入是一个javascript功能,用于导入由另一个模块导出的绑定.
您可以导入一个模块,该模块可以是您的服务类,并将其添加为角度服务.如果您正在编写"非角度"服务,请确保它是可导出的 ES6类.您不能直接使用ES6类作为依赖项,因为角度需要在DI之前进行角度调整.
my-service.service.js
export default class MyService {
constructor() {
this.items = [''];
}
getItem() {
return this.items;
}
}
MyService.$inject = ['SomeOtherService'];
Run Code Online (Sandbox Code Playgroud)
在 index.js
import angular from 'angular';
import MyService from './my-service.service';
angular.module('myApp')
.service('MyService', MyService);
Run Code Online (Sandbox Code Playgroud)
这是ES6可以与AngularJS依赖注入一起使用的一种方式.
| 归档时间: |
|
| 查看次数: |
3541 次 |
| 最近记录: |