我有以下 CoffeeScript
Excelsior.TopicView = Ember.View.extend
templateName: 'topic',
didInsertElement :() ->
this._super()
Ember.run.scheduleOnce 'afterRender', this, ->
converter = new Markdown.Converter()
editor = new Markdown.Editor(converter)
editor.run()
它生成的 javascript 是
(function() {
Excelsior.TopicView = Ember.View.extend({
templateName: 'topic',
didInsertElement: function() {
var editor;
this._super();
Ember.run.scheduleOnce('afterRender', this, function() {
var converter;
return converter = new Markdown.Converter();
});
editor = new Markdown.Editor(converter);
editor.run();
}
});
}).call(this);
这是不正确的,我真正想要生成的是
(function() {
Excelsior.TopicView = Ember.View.extend({
templateName: 'topic',
didInsertElement: function() {
this._super();
Ember.run.scheduleOnce('afterRender', this, function() {
var converter= new Markdown.Converter();
var editor = new Markdown.Editor(converter);
editor.run();
});
}
});
}).call(this);
如何修复我的 CoffeeScript ?
最佳答案
您需要小心缩进(确保没有混合使用空格和制表符):
Excelsior.TopicView = Ember.View.extend
templateName: 'topic',
didInsertElement :() ->
this._super()
Ember.run.scheduleOnce 'afterRender', this, ->
converter = new Markdown.Converter()
editor = new Markdown.Editor(converter)
editor.run()
关于javascript - CoffeeScript 被转换为错误的 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23839661/