如何将静态属性设置为类中的es6?
这是我的问题:我有一个名为命令的工厂。
commandsFactory.js
angular.module('mainModule')
.factory('Commands', [function () {
return{
// a lot of commands here
}该工厂在另一个名为Module的工厂中用作依赖项。
moduleFactory.js
.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
function CommandsFactory() {
return all my commands
}
export {
CommandsFactory
}我添加了一个新文件,以便导出一个名为
data.module.js
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
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看起来如下(以下是问题):
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作为静态属性?这样我就可以继承这些属性,而不必每次都编写?变量
发布于 2018-08-02 11:26:17
我的问题是我的每一个依赖的冗余。
好的,解决方案只是将它们作为当前模块的全局变量。
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这样,模块中的每个实例都可以访问该变量。
https://stackoverflow.com/questions/51525859
复制相似问题