ExtJS 提供了一個方便的方法將 JSON 數據與 ExtJS 組件進行綁定,從而快速構建富交互式的 Web 應用程序。當我們在使用 ExtJS 構建應用程序時,有時候我們需要在 JSON 數據中添加一些額外的值,這些值可以用于在組件之間傳遞信息,或者在數據加載時提供更多的上下文信息。下面是一個示例,可以看到如何向 JSON 中添加額外的 value。
// JSON 數據源 var data = { "title": "ExtJS JSON 加 Value 示例", "url": "http://www.example.com", "author": { "name": "John Doe", "email": "john.doe@example.com" } }; // 在 JSON 中添加額外的 value data["extraValue"] = "這是一個額外的值"; // 創建 ExtJS 組件 var panel = new Ext.Panel({ title: data.title, html: "更多信息請訪問" + data.url + "
", items: [ { xtype: "textfield", fieldLabel: "作者姓名", value: data.author.name }, { xtype: "textfield", fieldLabel: "作者郵箱", value: data.author.email } ] }); // 顯示組件 panel.render(document.body);
在上面的示例中,我們在 JSON 數據源中添加了一個名為 extraValue 的值。這個值可以被傳遞到創建的 ExtJS 組件中的任何地方,比如可以放在組件的 config 中,或者直接在組件的方法中使用。
使用 ExtJS 的 jsonReader 或者 ext.data.JsonStore 來處理 JSON 數據時,也可以輕松地訪問這些額外的 value。只需要在 jsonReader 或者 JsonStore 的配置中設置屬性 root,讓其指向包含 extraValue 的 JSON 數據即可:
var store = new Ext.data.JsonStore({ url: "data.json", root: "data", fields: [ "title", "url", "author.name", "author.email", "extraValue" ] }); // 顯示數據 store.load(); store.each(function(record) { console.log(record.get("extraValue")); });
在上面的示例中,我們在 JsonStore 的配置中設置了 root 屬性,讓其指向包含 extraValue 的 JSON 數據。在使用 each 方法遍歷數據時,我們可以輕松地訪問 extraValue 的值。
下一篇gulp .vue