首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >传统的angularjs语法到es6语法,以便迁移

传统的angularjs语法到es6语法,以便迁移
EN

Stack Overflow用户
提问于 2018-07-25 18:53:52
回答 1查看 96关注 0票数 0

如何将静态属性设置为中的es6?

这是我的问题:我有一个名为命令的工厂。

commandsFactory.js

代码语言:javascript
复制
angular.module('mainModule')
.factory('Commands', [function () {
return{
// a lot of commands here
}

该工厂在另一个名为Module的工厂中用作依赖项。

moduleFactory.js

代码语言:javascript
复制
.factory('K_Module', ['Commands', function (Commands) {
// here I'm using Commands anytime and anywhere I need
// also all the instance created by this factory had access to Commands

}

在重构之后,我有以下内容:

commandFactory.js

代码语言:javascript
复制
function CommandsFactory() {
return all my commands
}
export {
    CommandsFactory
}

我添加了一个新文件,以便导出一个名为

data.module.js

代码语言:javascript
复制
import $parser from '../parsers/parsers.module';
import $communication from '../communication/communication.module';
import {Connectors, CommandsFactory} from './Commands'

export default require('angular')
    .module('core.data', [$parser, $communication])
    .factory("Connectors", Connectors)
    .factory("Commands", CommandsFactory)
    .name;

我在另一个模块中调用这个模块

kModule

代码语言:javascript
复制
import $data from '../core/data/data.module';
import {K_Module, K_Matrix} from './ModuleFactory'
export default require('angular')
    .module('kModules', [$data])
    .service('K_Module', K_Module)
    .name;

新的K_Module看起来如下(以下是问题):

代码语言:javascript
复制
class K_Module {
    constructor(data, Commands, DataProxy, $q) {// I don't want to include these dependencies (except data) each time I create a K_Module
        'ngInject';
        let _self = this;
        _self.Commands = Commands;
        _self.DataProxy = DataProxy;
        _self.$q = $q;
//... other stuff

是否可以将命令、$q和DataProxy作为静态属性?这样我就可以继承这些属性,而不必每次都编写?变量

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-02 11:26:17

我的问题是我的每一个依赖的冗余。

好的,解决方案只是将它们作为当前模块的全局变量。

代码语言:javascript
复制
let _Commands;
let _DataProxy;
let _$q;
class K_Module {
        constructor(data, Commands, DataProxy, $q) {// I don't want to include these dependencies (except data) each time I create a K_Module
            'ngInject';
            let _self = this;
            _Commands = Commands;
            _DataProxy = DataProxy;
            _$q = $q;
    //... other stuff

这样,模块中的每个实例都可以访问该变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51525859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档