0

私は道場クラスで以下の機能を持っています:

dojo.declare("someclass", null, {

    getSomeObject: function(id, name, description) {
        console.log("id=", id, ", name=", name, ", description=", description);
        var newObj = {
            "id": id,
            "name": name,
            "description": description
        };
        console.log("newObj=", newObj);
        return newObj;
    }

});

作業中の製品をアップグレードするまでは、これで問題ありませんでした。コードを実行すると、どういうわけか "newObj" 内で、すべての属性値が配列に変換されます。つまり、"123" が id 値として関数に渡されると、newObj 内で "id" 属性値が ["123"] になります。

「new Object()」などを使用して、さまざまな方法でオブジェクトを作成しようとしましたが、何も役に立たないようです。古い製品で同じコードを実行すると、期待どおりに動作します!!!

これは Google Chrome コンソールからの出力です --

id= 5962960 , name= sng2 , description= test
newObj= 
Object
_RI: true
description: Array[1]
id: Array[1]
name: Array[1]
__proto__: Object

助けて?

4

1 に答える 1

1

ItemFileReadStoreorを使用していると思いますItemFileWriteStore。これらのストアは内部で配列を操作します。ドキュメントで推奨されている値を取得するには、次のようにします。

 store.getValue(storeItem, "property");

または、その値が適切に表現されていることが確実な場合は、次のようにして安全に型キャストできます+ ""

于 2012-07-20T07:37:14.457 に答える