Coffeescript 未定义的类?
Posted
技术标签:
【中文标题】Coffeescript 未定义的类?【英文标题】:Coffeescript Undefined class? 【发布时间】:2013-05-02 16:07:05 【问题描述】:我从咖啡脚本开始。 (还有英语,所以对于任何语法错误,我很抱歉。)看看这个类:
class Stuff
handleStuff = (stuff) ->
alert('handling stuff');
编译成:
var Stuff;
Stuff = (function()
var handleStuff;
function Stuff()
handleStuff = function(stuff)
return alert('handling stuff');
;
return Stuff;
)();
在 html 上我创建了一个 Stuff 实例,但该死的东西说它没有方法 handleStuff。 为什么?
【问题讨论】:
【参考方案1】:您希望 handleStuff
出现在原型上,因此将其更改为:
class Stuff
handleStuff: (stuff) ->
alert('handling stuff');
区别在于冒号和等号。
编译为:
var Stuff;
Stuff = (function()
function Stuff()
Stuff.prototype.handleStuff = function(stuff)
return alert('handling stuff');
;
return Stuff;
)();
你可以在这里看到它的工作原理:
<script src="http://github.com/jashkenas/coffee-script/raw/master/extras/coffee-script.js"></script>
<script type="text/coffeescript">
class Stuff
handleStuff: (stuff) ->
alert('handling stuff');
stuffInstance = new Stuff()
stuffInstance.handleStuff()
</script>
以及documentation中有关类和类成员的更多信息。
【讨论】:
以上是关于Coffeescript 未定义的类?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 JSON 转换为 CoffeeScript 并写入文件“.coffee”?
Rails - 从 JavaScript 调用 CoffeeScript