model.set()方法的问题

时间:2010-06-22 14:10:47

标签: qooxdoo

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

此代码不起作用:

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

我是否犯了一些错误或者这是一个错误?任何快速解决方案?

1 个答案:

答案 0 :(得分:1)

我认为qooxdoo数据绑定的概念缺失了。为此,您需要知道代码中的第二行是做什么的。这个为您带来一些魔力,它会根据您的JavaScript对象创建一个qooxdoo类,并实现返回它的对象。附加到本机JavaScript对象的所有属性都将作为qooxdoo属性提供,必须使用常用的getter和setter进行访问。您使用的set方法只是一个快捷方式,它解析您的给定对象并设置包含的每个属性。所以通常这应该有效,但知道你在这里做什么很重要,因为当你有像阵列这样的更复杂的对象时有限制,这种方式不起作用。

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