0
我无法找到从服务器检索数据并将其转换为模型实例的方法。我遵循指示here,但它仍然无法正常工作。 这是我的设置:Canjs模型在解析后返回undefined
该服务的网址:services/foo/barOne
。响应为:{"calendar":1352793756534,"objectId":"id2"}
模型定义如下:
var myModel = can.Model(
model: function(raw) {
newObject = {id:raw.objectId};
return can.Model.model.call(this,newObject);
},
findOne: {
url: 'services/foo/barOne',
datatype: 'json'
}
)
这里是我如何使用:
myBar = myModel.findOne()
myBar.then(function() {
console.log("resolved with arguments:",arguments); //[undefined]
})
我把各种日志和跟踪的所有的函数调用,请求正确完成,并且ajax正确解析。 model
方法也是正确的,并返回具有正确参数的Constructor
类型的对象。 但在那之后,canjs的pipe
函数里,结果不丢失(即,我得到的结果undefined
时d.resolve.apply(d, arguments)
叫)
有什么不对这种情况? 我正在使用canJS jQuery版本1.0.7
你的例子'应该'的工作。如果我只想进行名称翻译就没问题,但我想在将数据包装到模型中之前进行一些处理。 而can.jquery.js也存在一个问题(参考我在canJS [论坛]上的帖子(https://forum.javascriptmvc.com/#Topic/32525000001079183) –
就像在论坛中所说的那样:http ://jsfiddle.net/donejs/rB4AM/ – Daff
标记为已解决。我的can.js版本不是最新版本。使用最新版本修复了此问题。完整线程[here](https://forum.javascriptmvc .COM /主题/定制模型的方法#32525000001081163) –