javascript - Coffeescript 缩进问题

标签 javascript coffeescript

我正在尝试将其翻译成 Coffeescript:

App.IndexView = Ember.View.extend(InfiniteScroll.ViewMixin, {
  didInsertElement: function(){
    this.setupInfiniteScrollListener();
  },
  willDestroyElement: function(){
    this.teardownInfiniteScrollListener();
  }
});

我的第一个方法是:

Whistlr.OrganizationsView = Em.View.extend
  InfiniteScroll.ViewMixin
  didInsertElement: ->
    @setupInfiniteScrollListener()
  willDestroyElement: ->
    @teardownInfiniteScrollListener()

但它引发了意外的缩进错误。所以我尝试了这个:

Whistlr.OrganizationsView = Em.View.extend InfiniteScroll.ViewMixin
  didInsertElement: ->
    @setupInfiniteScrollListener()
  willDestroyElement: ->
    @teardownInfiniteScrollListener()

这给了我这个错误:

TypeError: InfiniteScroll.ViewMixin is not a function

如果我使用纯js,它工作得很好。所以问题肯定出在 Coffeescript 格式上。我无法弄清楚发生了什么,甚至无法正确地寻找解释。任何指示将不胜感激!

最佳答案

尝试

Whistlr.OrganizationsView = Em.View.extend InfiniteScroll.ViewMixin,
  didInsertElement: -> @setupInfiniteScrollListener()
  willDestroyElement: -> @teardownInfiniteScrollListener()

.extend 的第二个参数需要是 JavaScript 对象。

关于javascript - Coffeescript 缩进问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18922190/

相关文章:

javascript - 带有自定义 json 配置的 grunt 任务

javascript - 将 Angular 注入(inject) Rails

javascript - 无法使用 onclick 显示 primefaces 面板

javascript - 根据选中的单选按钮显示/隐藏 div

javascript - 为什么 while 循环中的递增运算符 (++) 在完成至少一个循环后才会计算?

javascript - 数组中的 Coffeescript 类对象

coffeescript - "Verifying property ___ exists in config"在 Grunt 中是什么意思?

ruby-on-rails-3.1 - Jasmine 规范未找到在 CoffeeScript 中定义的类

javascript - 从同一网站的外部页面加载 div 中的内容

javascript - 动态传递值(例如 : innerHTML) to another element as a value