ES6 类: 在另一个函数中包装方法实现
ES6 Classes: Wrap method implementation in another function
尝试找出使用 ES6 执行此类操作的语法 类:
function Component() {
}
Component.prototype.render = style(function() {
});
这是我目前拥有的:
class Component {
constructor() {
super()
}
render style(() {
});
}
有什么想法吗?
因为 class
只是语法糖,所以这应该有效:
class Component {
constructor() {
super()
}
}
Component.prototype.render = style(function() {
});
is what already showed you, 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();
我假设您的样式函数就像我定义的函数一样,现在在这种情况下,您可以使用定义方法的旧方法轻松实现所需的结果(创建另一个函数返回的函数)。
USing ES-6 syntax
现在我们知道 es6 类s 只是语法糖,我们必须能够像以前一样使用 类 实现一切。
看到这个。 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 添加的不同语法
尝试找出使用 ES6 执行此类操作的语法 类:
function Component() {
}
Component.prototype.render = style(function() {
});
这是我目前拥有的:
class Component {
constructor() {
super()
}
render style(() {
});
}
有什么想法吗?
因为 class
只是语法糖,所以这应该有效:
class Component {
constructor() {
super()
}
}
Component.prototype.render = style(function() {
});
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();
我假设您的样式函数就像我定义的函数一样,现在在这种情况下,您可以使用定义方法的旧方法轻松实现所需的结果(创建另一个函数返回的函数)。
USing ES-6 syntax
现在我们知道 es6 类s 只是语法糖,我们必须能够像以前一样使用 类 实现一切。
看到这个。 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 添加的不同语法