2013-10-25 33 views
0

我無法理解如何正確實現can.Model服務方法。目前,我有這個CanJs模型服務方法實現

var Foo = can.Model({ 
findAll: "GET /service/Editor.svc/foo", 
findOne: "GET /service/Editor.svc/foo/{id}", 
create: 'POST /service/Editor.svc/foo"', 
update: 'PUT /service/Editor.svc/foo"{id}', 
destroy: 'DELETE /service/Editor.svc/foo"{id}' 
},{}); 

我已經看過http://canjs.com/guides/Models.htmlhttp://canjs.com/guides/Tutorial.htmlCanJS Model findAll returns list of duplicate items

我想我不明白的是該模型是如何工作的。這些方法是否需要上述聲明?當我嘗試運行

var test = new Foo() 然後foo.findAll({}, function(success){//dosomething}, function(xhr){//do something else}) 我得到TypeError: Object #<Constructor> has no method 'findAll'

我缺少什麼這個框架的一部分?

對於這個與C#WCF服務交互,並且記錄從MongoDB的

回答

1

拉JSON對象要定義的findAll等方法構造方法沒有原型的方法。這意味着您必須在Foo對象上調用它,而不是foo實例(我通常將我的模型和實例命名爲不會混淆它們的實例 - 例如var bar = new Foo())。

Foo.findAll({}, function(data) { 

}); 

// Or a little nicer: 
Foo.findAll({}).then(function(data) { 

}); 
+0

非常感謝。所以這些相當於靜態方法嗎? –

+0

是的,非常。 – Daff