码迷,mamicode.com
首页 > 其他好文 > 详细

Decorator [?dek?re?t?(r)] 修饰器/装饰器 -- 装饰模式

时间:2017-04-09 13:48:41      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:babel   ssr   没有   静态   runtime   on()   添加   参数   nsf   

装饰模式 -- 原先没有,后期添加的属性和方法

修饰器(Decorator)是一个函数,用来修饰类的行为。这是ES7的一个提案,目前Babel转码器已经支持。

需要先安装一个插件:

npm install babel-plugin-transform-decorators-legacy --save-dev

然后在项目根目录下,找到:.babelrc => 修改为

"plugins": ["transform-runtime","transform-decorators-legacy"],

 

// 添加属性,添加方法,在方法执行之前添加动作

1.给添加一个静态方法(属性)

function chooseCourse(target){

  target.cours = ‘物理‘;

}

function classroom(target){

  target.study = function(){

    console.log(target.identity + ‘学习‘);

  }

}

@chooseCourse

@classroom

class Student{

}

Student.study();

 

2.修饰器带参数

function chooseCourse(courseName){

  return function(target){

    target.courseName = courseName;

  }

}

Decorator [?dek?re?t?(r)] 修饰器/装饰器 -- 装饰模式

标签:babel   ssr   没有   静态   runtime   on()   添加   参数   nsf   

原文地址:http://www.cnblogs.com/crazycode2/p/6684290.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!