【问题标题】:Dojo how to get JSON attribute from dojo.data.ItemFileReadStoreDojo 如何从 dojo.data.ItemFileReadStore 获取 JSON 属性
【发布时间】:2012-08-01 12:08:01
【问题描述】:

我在 typeData 变量中有以下 JSON,然后将其放入 dojo.data.ItemFileReadStore。我需要知道的是如何检查 status 的值,是设置为“成功”还是其他值。我无法弄清楚如何从 ItemFileReadStore 中获取 status 的值,任何帮助将不胜感激。

    var typesData = {
        status: "success",
        label: "name",
        identifier: "value",
        items: [
            {value: 3, name: "Truck"},
            {value: 8, name: "Van"},
            {value: 6, name: "Car"},
            {value: 7, name: "Scooter"}
        ]
    };
var test = new dojo.data.ItemFileReadStore({ data: typesData });

【问题讨论】:

    标签: json dojo store


    【解决方案1】:

    ItemFileReadStore 不会处理数据对象的附加属性。但是,您可以扩展 ItemFileReadStore 来做您需要的事情。您将覆盖“内部”方法,因此开发人员要小心。

    dojo.declare("MyCustomStore", [Store], {
        _getItemsFromLoadedData: function(/* Object */ dataObject){
            this.serverStatus = dataObject.status;                     
            this.inherited(arguments);                            
        }
    });
    
    var typesData = {
        status: "success",
        label: "name",
        identifier: "value",
        items: [
            {value: 3, name: "Truck"},
            {value: 8, name: "Van"},
            {value: 6, name: "Car"},
            {value: 7, name: "Scooter"}
        ]
    };
    var test = new MyCustomStore({ data: typesData });
    test._forceLoad(); // forces the processing of the data object
    
    console.debug(test.serverStatus);
    

    http://jsfiddle.net/cswing/dVGSc/

    【讨论】:

    • 谢谢克雷格,我永远也想不通。
    猜你喜欢
    • 2021-07-03
    • 1970-01-01
    • 2023-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多