es6 如何导出这个类,并引用类的方法guestCertificateNo

clipboard.png

import应该如何写

clipboard.png
这么写还是引用不到(路径没错)

阅读 5.3k
4 个回答

你导出的是个class,实例化才能用。

要么这样

export { xx(){} }

import {xx} from 'xx.js'
xx()

要么这样

export default { xx(){} }

import vv from 'xx.js'
vv.xx()

要么这样

export default class{ static xx(){} }

import vv from 'xx.js'
vv.xx()

一定要用class么,你定义了class之后,validator方法就是定义在这个对象原型链上的一个方法,需要实例化之后才能使用。我建议

// a.js
const validator = function() {}
export {
  validator
}
import { validator } from 'a'
console.log(validator)
export default class {
    foo(){}
}
import Validator from './validate'

var validator = new Validator()
validator.foo()

这段代码没有毛病,只是没有必要用「类」。你可以直接这样写:

export default {
    guestCertificateNo(rule, value, callback) {...}
}

然后:

import validator from './validate'; 

// 调用
validator.guestCertificateNo(rule, value, callback)

上面的同学其实已经说了,要实例后才能调用「类的方法」。其实严格上说不能说调用「类的方法」应该叫调用「类原型上的方法」(俗称实例上的方法),如果想调用「类的方法」那个应该叫「类的静态方法」,可以看一下阮一峰写的:http://es6.ruanyifeng.com/#do...

如果是调用「静态方法」,那么你的代码又可以改成:

export default class {
    static guestCertificateNo(rule, value, callback) {...}
}

这样你就可以按你的想法来调用了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进