ES6 Decorators(润饰器)
润饰器(Decorator)是一个函数,用来修正类的行动。这是ES7的一个提案,如今Babel转码器已支撑
我们在游戏大型项目种常常会用到的要领,如今es6直接支撑
想要运用Decorator的话须要我们设置一下文件夹,设置一下环境
npm install babel-plugin-transform-decorators-legacy --save-dev
完事设置一下babelrc文件
"plugins": ["transform-decorators-legacy"]
先说一下装潢器的特性
- 装潢器实质是一个函数
@hometown hometown()
- 装潢对象能够运用多个装潢器
@hometown("山西")
@school
class Student{
constructor(name){
this.name=name;
}
@studyke("HTML")
study(){
console.log(this.name+" is studying"+this.ke+"!")
}
}
- 装潢器能够带参数
function hometown(diqu){
//target.home="xx";
return function(target){
target.home=diqu;
}
}
@hometown("山西")
class...
- 装潢器润饰 类
function school(target){
console.log("123")
target.schoolName="xxxx";
}
function hometown(diqu){
//target.home="xx";
return function(target){
target.home=diqu;
}
}
function studyke(kemu){
return function(target){
target.ke=kemu;
}
}
@hometown("山西")
@school
class Student{
constructor(name){
this.name=name;
}
@studyke("HTML")
study(){
console.log(this.name+" is studying"+this.ke+"!")
}
}
console.log(Student.schoolName);
console.log(Student.home);
let l=new Student("xiaoA");
l.study();
@school
function Teacher(){
}