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) –