javascript - CoffeeScript 被转换为错误的 javascript

标签 javascript coffeescript

我有以下 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/

相关文章:

javascript - 尝试遍历数组并为每个数组添加一个 get 函数

javascript - 在 Rails 应用程序中拆分 Javascript 或 Coffeescript 的最佳方式是什么?

javascript - CoffeeScript:如何从类中返回一个数组?

javascript - 启动后删除事件监听器

syntax - 相当于python 'pass'语句的Coffeescript

javascript - 打印时缺少图像

javascript - 如何在不更改主文件的情况下撤消 Core.JS 代码?

javascript - 使用 knockout 将对象添加到可观察数组

javascript - 如何以位置绝对值打印到 Canvas

javascript - JS Q Promises 不会传播错误