装饰模式 -- 原先没有,后期添加的属性和方法
修饰器(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;
}
}
时间: 2024-10-11 01:42:03