装饰器(decorator)

101 阅读1分钟

装饰器一起没融入到标准的js中,一直在stage-2中,所以一般项目中需要使用到的话,都需要引入对应的babel,还要解决对应的eslint,另外,ts中已经引入了decorator。 装饰器一般分为:

  • @disposable:类装饰器,给类增加一个dispose方法和一个disposed属性,用来清理资源。
  • @undisposed:方法装饰器:加工被装饰的成员函数,在入口处增加对disposed属性的判断,如果已经被清理则抛出异常,主要用来方便排查编码错误。
  • @eventable:类装饰器,给类增加一整套事件监听和发送机制。
  • @eventListener(type):方法装饰器,表示被装饰的方法是一个事件回调。
  • @prop:属性装饰器,将一个属性转换为一个可监听属性,只要改变就发出事件。
  • @computed:属性装饰器,声明计算属性用的。
  • @reaction:方法装饰器,表示被装饰的方法是一个监听prop改变的回调。我们一般的使用,其实也都是