mirror of
https://github.com/ruanyf/es6tutorial.git
synced 2025-05-24 18:32:22 +00:00
Fix coding style in docs/decorator.md
This commit is contained in:
parent
307932e155
commit
c4b46e3621
@ -94,12 +94,12 @@ import { mixins } from './mixins'
|
|||||||
|
|
||||||
const Foo = {
|
const Foo = {
|
||||||
foo() { console.log('foo') }
|
foo() { console.log('foo') }
|
||||||
}
|
};
|
||||||
|
|
||||||
@mixins(Foo)
|
@mixins(Foo)
|
||||||
class MyClass {}
|
class MyClass {}
|
||||||
|
|
||||||
let obj = new MyClass()
|
let obj = new MyClass();
|
||||||
obj.foo() // 'foo'
|
obj.foo() // 'foo'
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -108,7 +108,7 @@ obj.foo() // 'foo'
|
|||||||
```javascript
|
```javascript
|
||||||
const Foo = {
|
const Foo = {
|
||||||
foo() { console.log('foo') }
|
foo() { console.log('foo') }
|
||||||
}
|
};
|
||||||
|
|
||||||
class MyClass {}
|
class MyClass {}
|
||||||
|
|
||||||
@ -169,7 +169,7 @@ function nonenumerable(target, name, descriptor) {
|
|||||||
|
|
||||||
下面的`@log`修饰器,可以起到输出日志的作用。
|
下面的`@log`修饰器,可以起到输出日志的作用。
|
||||||
|
|
||||||
```bash
|
```javascript
|
||||||
class Math {
|
class Math {
|
||||||
@log
|
@log
|
||||||
add(a, b) {
|
add(a, b) {
|
||||||
@ -498,7 +498,7 @@ export function mixins(...list) {
|
|||||||
然后,就可以使用上面这个修饰器,为类“混入”各种方法。
|
然后,就可以使用上面这个修饰器,为类“混入”各种方法。
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
import { mixins } from './mixins'
|
import { mixins } from './mixins';
|
||||||
|
|
||||||
const Foo = {
|
const Foo = {
|
||||||
foo() { console.log('foo') }
|
foo() { console.log('foo') }
|
||||||
@ -600,7 +600,7 @@ Trait也是一种修饰器,效果与Mixin类似,但是提供更多功能,
|
|||||||
下面采用[traits-decorator](https://github.com/CocktailJS/traits-decorator)这个第三方模块作为例子。这个模块提供的traits修饰器,不仅可以接受对象,还可以接受ES6类作为参数。
|
下面采用[traits-decorator](https://github.com/CocktailJS/traits-decorator)这个第三方模块作为例子。这个模块提供的traits修饰器,不仅可以接受对象,还可以接受ES6类作为参数。
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
import { traits } from 'traits-decorator'
|
import { traits } from 'traits-decorator';
|
||||||
|
|
||||||
class TFoo {
|
class TFoo {
|
||||||
foo() { console.log('foo') }
|
foo() { console.log('foo') }
|
||||||
@ -608,12 +608,12 @@ class TFoo {
|
|||||||
|
|
||||||
const TBar = {
|
const TBar = {
|
||||||
bar() { console.log('bar') }
|
bar() { console.log('bar') }
|
||||||
}
|
};
|
||||||
|
|
||||||
@traits(TFoo, TBar)
|
@traits(TFoo, TBar)
|
||||||
class MyClass { }
|
class MyClass { }
|
||||||
|
|
||||||
let obj = new MyClass()
|
let obj = new MyClass();
|
||||||
obj.foo() // foo
|
obj.foo() // foo
|
||||||
obj.bar() // bar
|
obj.bar() // bar
|
||||||
```
|
```
|
||||||
@ -623,7 +623,7 @@ obj.bar() // bar
|
|||||||
Trait不允许“混入”同名方法。
|
Trait不允许“混入”同名方法。
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
import {traits } from 'traits-decorator'
|
import { traits } from 'traits-decorator';
|
||||||
|
|
||||||
class TFoo {
|
class TFoo {
|
||||||
foo() { console.log('foo') }
|
foo() { console.log('foo') }
|
||||||
@ -632,7 +632,7 @@ class TFoo {
|
|||||||
const TBar = {
|
const TBar = {
|
||||||
bar() { console.log('bar') },
|
bar() { console.log('bar') },
|
||||||
foo() { console.log('foo') }
|
foo() { console.log('foo') }
|
||||||
}
|
};
|
||||||
|
|
||||||
@traits(TFoo, TBar)
|
@traits(TFoo, TBar)
|
||||||
class MyClass { }
|
class MyClass { }
|
||||||
@ -647,7 +647,7 @@ class MyClass { }
|
|||||||
一种解决方法是排除TBar的foo方法。
|
一种解决方法是排除TBar的foo方法。
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
import { traits, excludes } from 'traits-decorator'
|
import { traits, excludes } from 'traits-decorator';
|
||||||
|
|
||||||
class TFoo {
|
class TFoo {
|
||||||
foo() { console.log('foo') }
|
foo() { console.log('foo') }
|
||||||
@ -656,12 +656,12 @@ class TFoo {
|
|||||||
const TBar = {
|
const TBar = {
|
||||||
bar() { console.log('bar') },
|
bar() { console.log('bar') },
|
||||||
foo() { console.log('foo') }
|
foo() { console.log('foo') }
|
||||||
}
|
};
|
||||||
|
|
||||||
@traits(TFoo, TBar::excludes('foo'))
|
@traits(TFoo, TBar::excludes('foo'))
|
||||||
class MyClass { }
|
class MyClass { }
|
||||||
|
|
||||||
let obj = new MyClass()
|
let obj = new MyClass();
|
||||||
obj.foo() // foo
|
obj.foo() // foo
|
||||||
obj.bar() // bar
|
obj.bar() // bar
|
||||||
```
|
```
|
||||||
@ -671,7 +671,7 @@ obj.bar() // bar
|
|||||||
另一种方法是为TBar的foo方法起一个别名。
|
另一种方法是为TBar的foo方法起一个别名。
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
import { traits, alias } from 'traits-decorator'
|
import { traits, alias } from 'traits-decorator';
|
||||||
|
|
||||||
class TFoo {
|
class TFoo {
|
||||||
foo() { console.log('foo') }
|
foo() { console.log('foo') }
|
||||||
@ -680,12 +680,12 @@ class TFoo {
|
|||||||
const TBar = {
|
const TBar = {
|
||||||
bar() { console.log('bar') },
|
bar() { console.log('bar') },
|
||||||
foo() { console.log('foo') }
|
foo() { console.log('foo') }
|
||||||
}
|
};
|
||||||
|
|
||||||
@traits(TFoo, TBar::alias({foo: 'aliasFoo'}))
|
@traits(TFoo, TBar::alias({foo: 'aliasFoo'}))
|
||||||
class MyClass { }
|
class MyClass { }
|
||||||
|
|
||||||
let obj = new MyClass()
|
let obj = new MyClass();
|
||||||
obj.foo() // foo
|
obj.foo() // foo
|
||||||
obj.aliasFoo() // foo
|
obj.aliasFoo() // foo
|
||||||
obj.bar() // bar
|
obj.bar() // bar
|
||||||
|
Loading…
x
Reference in New Issue
Block a user