0

我无法理解如何正确实现 can.Model 服务方法。我目前有这个

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 返回重复项列表

我想我不明白模型是如何工作的。这些方法我唯一需要的是上述声明吗?当我尝试跑步时

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

我缺少这个框架的哪一部分?

作为记录,它与 ac# wcf 服务交互,并从 mongodb 中提取 json 对象

4

1 回答 1

1

findAll您定义的etc. 方法是构造函数方法而不是原型方法。这意味着您必须在Foo对象而不是foo实例上调用它(我通常以不同的方式命名我的模型和它的实例,以免混淆它们 - 例如var bar = new Foo())。

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

});

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

});
于 2013-10-25T15:19:25.787 回答