咖啡脚本缩进的问题
Trouble with Coffeescript Indent
我正在尝试将其翻译成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 对象。
这是JS到Coffeescript的快速翻译。 当我将其粘贴到"尝试咖啡脚本"浏览器窗口中时,它会生成相同的JS(带有附加的返回值)。 额外的 (){} 是为了我的利益,而不是 CS。 他们向我清楚地表明,这是对extend
的调用,具有 2 个参数,一个是对象属性,另一个是具有两个函数定义的对象。
App.IndexView = Ember.View.extend(
InfiniteScroll.ViewMixin,
{
didInsertElement: () ->
@setupInfiniteScrollListener()
willDestroyElement: () ->
@teardownInfiniteScrollListener()
}
)
相关文章:
- 如何格式化字符串以修复Javascript中的缩进
- Vim-当代码的文字字符串中有括号时,如何实现正确的缩进
- Javascript 意外返回值,带有特定的缩进
- JQuery:如何在循环 dom 元素时正确缩进字符串
- JavaScript将缩进文本转换为HTML列表重复顶层<李>'s为<ul>'s
- 如何避免/最小化列表中列表的缩进
- vim JavaScript缩进插件-命令是什么
- 使用 PEG.js 解析缩进级别
- 崇高的文本新行失去缩进
- Redactor文本编辑器– 在代码视图中重新缩进缩小的HTML
- NVD3.js缩进树问题
- 缩进第二行的文本块
- 从 coffeescript 编译到 javascript 后保持缩进
- 使用 d3.xml 而不是 d3.json 绘制可折叠缩进树
- 超级鱼子项中的文本缩进继承
- 对文本区域段落的每一首行应用缩进
- Emacs 有问题的 JavaScript 缩进
- Javascript - 方法链上的缩进会导致分号问题
- 咖啡脚本缩进的问题
- Codemirror javascript缩进问题