是否可以在ES2015中导入类方法

时间:2015-07-16 13:04:36

标签: javascript class ecmascript-6

我正在一个模块中创建一个方法:

export function myMethod() {}

在另一个模块中实例化一个类:

import {myMethod} from './methodFile';
class MyClass {
    constructor() {}
    myMethod // doesn't work
}

是否可以将myMethod用作MyClass类的一部分?

我正在尝试创建以下代码的等价物:

class MyClass {
    constructor() {}
    myMethod() {}
}

2 个答案:

答案 0 :(得分:2)

不,不可能在$rootScope声明中引用给定的值。

但是,class语法主要是语法糖,原型继承一​​如既往。您可以在类定义之后将该方法简单地放在原型对象上:

class

如果您的方法需要使用import {myMethod} from './methodFile'; class MyClass { … } MyClass.prototype.myMethod = myMethod; ,则需要use the .toMethod method

答案 1 :(得分:0)

实际上可以在类内部引用外部方法:

// in methodFile.js:

module.exports = function myMethod() {
  console.log('running in the method!');
}

// in main file

const myMethod = require('./methodFile');

class MyClass {
    myMethod = myMethod;
}

const myClass = new MyClass();

myClass.myMethod(); // running in the method!