0

我在设置包含数字属性的模型值时遇到问题。这是示例:

此代码不起作用:

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

但是,如果我在 id 值上加上引号,它会起作用:

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

我做错了什么还是这是一个错误?有什么快速的解决方案吗?

4

1 回答 1

1

我认为 qooxdoo 数据绑定的概念缺少一些东西。为此,您需要知道代码中的第二行在做什么。这个给你带来了一点魔法,它基于你的 JavaScript 对象创建了一个 qooxdoo 类,并实例化了一个返回的对象。附加到原生 JavaScript 对象的所有属性都将作为 qooxdoo 属性可用,必须使用常用的 getter 和 setter 来访问。您使用的 set 方法只是解析给定对象并设置包含的每个属性的快捷方式。所以通常这应该可以工作,但重要的是要知道你在这里做什么,因为当你有更复杂的对象(如数组)时会有限制,这种方式是行不通的。

问候,
马丁
顺便说一句。它总是 qx 而不是 rx。:)

于 2010-06-23T06:14:18.663 回答