주로 Cristophe Coenraets의 PhoneGap examples on GitHub을 기반으로 backbone.js + cordova + require.js 프레임 워크를 사용하여 놀았습니다. 내 모델을보기에 표시하는 것은 간단하지만 여전히 설정 또는 저장 호출을 통해 모델을 업데이트 할 수 없습니다. 내가 얻을 수있는 호출하여 내 컬렉션에서 개체를 뽑을 수Backbone.js에서 모델 객체를 설정하려고 시도하는 TypeError
SourcePhrase = Backbone.Model.extend({
// default values
defaults: {
id: null,
markers: "",
orig: null,
source: "",
target: ""
},
sync: function (method, model, options) {
if (method === "read") {
findById(this.id).done(function (data) {
options.success(data);
});
}
}
}),
// etc
:
// find and update the model object
var strID = $(event.currentTarget.parentElement).attr('id');
var model = this.collection.get(strID);
를 지금까지 너무 좋은 :
model.set('target', trimmedValue);
내 모델은 다음과 같이 보입니다
TypeError : '정의되지 않음'이 ('i = t [r]을 (를) 평가하는) 함수가 아님 callback.call (i.ctx, n, a) ')
음 ... 맞지 않습니다. 내가 이것을 추적하기 위해 어디에서 시작해야 할까?
편집 : 그냥 전화 전 모델의 콘솔 출력 설정 :
model: Object
_changing: false
_events: Object
_pending: false
_previousAttributes: Object
attributes: Object
id: "RUT001-10"
markers: "\hdr"
orig: null
source: "Ruth"
target: "Ruth"
__proto__: Object
changed: Object
cid: "c15"
collection: Object
id: "RUT001-10"
__proto__: Object
strID: "RUT001-10"
'set' 앞에'console.log (model)'을 넣으십시오. 출력은 무엇입니까? – msvalkon
@msvalkon : 추가됨. by-reference copy를하고있는 것처럼 보입니다. (예상 된 것 같습니다.) - 콜렉션이 콜렉션 오브젝트로 설정되었습니다. – eb1
네 말이 맞아, 나는 내 대답을 삭제했다. –