我有以下代码:
class Example
@text = 'Hello world! ;)'
getText = ->
@text
constructor: ->
alert(getText())
### Instance ###
example = new Example
这将返回“未定义”,有没有办法让它返回@text
内容?
我有以下代码:
class Example
@text = 'Hello world! ;)'
getText = ->
@text
constructor: ->
alert(getText())
### Instance ###
example = new Example
这将返回“未定义”,有没有办法让它返回@text
内容?
这是 CoffeeScript 中的常见错误。查看编译后的 JavaScript:
Example = (function() {
var getText;
Example.text = 'Hello world! ;)';
getText = function() {
return this.text;
};
function Example() {
alert(getText());
}
return Example;
})();
@
在类定义中使用会创建一个静态方法或变量。也就是说,它附加到类对象。
如果您试图使其成为实例变量,请在构造函数中设置它。
constructor: ->
@text = 'Hello world! ;)'
alert(getText())
如果您尝试访问静态属性,请参阅类名。
getText = ->
Example.text