2010-06-22 4 views
0

숫자 속성을 포함하는 모델 값을 설정하는 데 문제가 있습니다.model.set() 메서드의 문제점

이 코드가 작동하지 않습니다 다음은 예입니다

var modelSkeleton = {id: null, name: null}; 
var model = rx.data.marshal.Json.createModel(modelSkeleton); 
var y = {id:"22",name:"New name"} 
model.set(y); 

내가 어떤 실수를하고 있는가 또는 이것은이다 : 나는 id 값에 따옴표를 넣어 경우

var modelSkeleton = {id: null, name: null}; 
var model = rx.data.marshal.Json.createModel(modelSkeleton); 
var x = {id:22,name:"New name"}; 
model.set(x); 

, 그것은 작동 곤충? 어떤 빠른 해결책?

+0

바보 같은 질문에 사과드립니다. 나는 신중하게 API를 보지 못했습니다. 정의에 따라 json 객체가 아닌 Map 만 설정할 수 있습니다. – WSK

답변

1

qooxdoo 데이터 바인딩의 개념이 누락되었다고 생각합니다. 이를 위해서는 코드의 두 번째 행이 무엇을하는지 알아야합니다. 이것은 JavaScript 객체를 기반으로 qooxdoo 클래스를 생성하고 반환되는 객체를 인스턴스화하는 약간의 마법을 가져옵니다. 기본 JavaScript 객체에 첨부 된 모든 속성은 일반적으로 사용되는 getter 및 setter로 액세스해야하는 qooxdoo 속성으로 사용할 수 있습니다. set 메소드는 주어진 객체를 파싱하고 포함 된 각 속성을 설정하는 바로 가기입니다. 그래서 일반적으로 잘 작동하지만 배열과 같은 더 복잡한 객체가있을 때 제한이 있기 때문에 여기에서 무엇을하는지 아는 것이 중요합니다. 이렇게하면 작동하지 않습니다.

감사합니다,
마틴
Btw. 그것의 항상 qx가 아니라 rx. :)