尝试找出使用 ES6 类执行此类操作的语法:
function Component() {
}
Component.prototype.render = style(function() {
});
这是我到目前为止所拥有的:
class Component {
constructor() {
super()
}
render style(() {
});
}
有任何想法吗?
尝试找出使用 ES6 类执行此类操作的语法:
function Component() {
}
Component.prototype.render = style(function() {
});
这是我到目前为止所拥有的:
class Component {
constructor() {
super()
}
render style(() {
});
}
有任何想法吗?
由于class
只是语法糖,这应该有效:
class Component {
constructor() {
super()
}
}
Component.prototype.render = style(function() {
});
这是torazaburo已经向您展示的内容,http://www.es6fiddle.net/i67l1pjr/。
var style=function(fun){
// do something with fun
return fun
}
class Component {
constructor() {
super()
}
}
Component.prototype.render = style(function() {
console.log('i am invoked');
});
var x=new Component;
x.render();
我假设您的样式函数就像我定义的那样,现在在这种情况下,您可以使用定义方法的旧方法轻松实现所需的结果(创建由另一个函数返回的函数)。
使用 ES-6 语法
现在我们知道 es6 类只是语法糖,我们必须能够像以前一样使用类来实现一切。
看到这个。http://www.es6fiddle.net/i67l1d4e/
var style=function(fun){
// do something with fun
return fun
}
class Component {
constructor() {
super()
}
render (){ // this is the new render function, you wanted to define
var fun =style(function() {
console.log('i am invoked');
});
return new fun();
}
}
var x=new Component;
x.render();
现在这两种方式,做同样的事情..它只是 ES-6 添加的不同语法