javascript - 使用 Alloy UI 显示 JSON 数据

标签 javascript yui

我只是尝试解析 json 数据并使用 Alloy UI 的框架将其显示在数据表中

YUI().use(
    'aui-datatable', 'json-parse', 
    function(Y) {
        var columns = [
            { key: 'ID', sortable: true },
            { key: 'Name', sortable: true }
        ];
        var jsonstring = '{"info":['+
                     '{"ID":"100", "Name":"Roy"},'+
                     '{"ID":"200", "Name":"Moss"},'+
                     '{"ID":"300", "Name":"Jen"}'+
        ']}';
        try {
           data = Y.JSON.parse(jsonstring);
        }
        catch (e) {
            alert("Invalid data");
        }
        new Y.DataTable(
            {
                columns: columns,
                data: data
            }
        ).render("#mySearchResultsContainer");
    }

1) 如何将 ID 和名称映射到数据表中的列?

2) 如何使用外部 json 文件中的数据来完成此操作?

最佳答案

给你:http://jsfiddle.net/9wd8jqtL/

主要问题是您传递到 DataTable 的数据需要是一个数组:您传递的是对象。传入 data.info 为其提供您想要的数组:

 new Y.DataTable(
        {
            columns: columns,
            data: data.info
        }
    ).render("#mySearchResultsContainer");

此外,我认为您需要以某种方式包含 Alloy UI 数据表脚本。我当然在 jsfiddle 上做了使其工作(而且我认为 jsfiddle 上较新版本的 YUI 也可能存在问题),但这在其他地方不应该是问题。

获取外部数据时,取决于它来自哪里。但很可能您需要 Y.io 或类似工具来加载数据,并在数据返回时在回调中使用建表函数。

关于javascript - 使用 Alloy UI 显示 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25572563/

相关文章:

javascript - `getService`中的 `injector.js`如何从 Angular 中的调用者访问局部变量?

javascript - Ruby on Rails escape_javascript 与 jQuery 的用法

javascript - 与 Flex AIR 相比,基于 HTML 的 AIR 应用程序是否同样快速/强大,或者只是一个 "lesser"兄弟?

javascript - Google CDN 的 YUILoadercomboBase 设置

javascript - 在 mouseenter 上旋转 div 元素并在 mouseleave 上停止旋转

javascript - 显示数组中的下一张和上一张图像并使用 Javascript 显示

javascript - LightTable 为 javascript 设置 on-change 内联 eval

javascript - 在动态创建的元素的 z-Index 更改上调试断点

javascript - 我的 YUI 3 实例在哪里? (加上一些 YUI 事件观察)