2015-11-04 64 views
1

我使用骨幹具有的jsfiddle下面的錯誤,強調和CoffeeScript的:http://jsfiddle.net/bx7g7d2y/3/的CoffeeScript中的jsfiddle未捕獲的SyntaxError

看來我的代碼是確定的,在CoffeeScript的文件中的錯誤提出了8行

這是我的演示代碼:

# extending a simple model 
SidebarModel = Backbone.Model.extend { 
    initialize: -> { 
     console.log 'initialized' 
    } 
} 

sidebar = new SidebarModel 

你能,我會當場缺少的東西?

UPDATE: 用另一隻手,它的工作原理與整齊的javascript:

// extending a simple model 
var SidebarModel = Backbone.Model.extend ({ 
    initialize: function(){ 
     console.log('initialized'); 
    } 
}) 

var sidebar = new SidebarModel(); 

回答

1

嘗試在Try CoffeScript -Tab的CoffeScript網站上的以下。

SidebarModel = Backbone.Model.extend { 
    initialize: -> 
     console.log 'initialized' 
} 

sidebar = new SidebarModel 

->CoffeScript-literal的功能。沒有括號需要!

你甚至可以更進一步,並寫上:

SidebarModel = Backbone.Model.extend 
    initialize: -> 
     console.log 'initialized' 

sidebar = new SidebarModel 
+1

它的工作,現在我的問題是:爲什麼?是不是應該在花括號中嵌入一個函數體? – alexserver

+0

@alexserver更新了答案:) – Tholle

+2

@alexserver不,你不換的CoffeeScript函數體中括號。您還應該使用'class SidebarModel extends Backbone.Model',因爲CoffeeScript的'class ... extends'機制與Backbone的'extends'兼容。 –