【问题标题】:jsViews - display custom properties in object listjsViews - 在对象列表中显示自定义属性
【发布时间】:2013-04-18 20:55:44
【问题描述】:

我有一些想要使用 jsViews 输出的数据。情况是数据数组中的对象可以根据某些条件具有不同的属性/列集。我将这些属性名称存储在设置中,并希望能够打印所有附加列存储在设置数组中的数据内容。例如:

data = {
    view_settings: [{
            property_name: "prop1"
        },
        {
            property_name: "prop2"
        }
    ],
    object_list: [{
            id: "180",
            name: "test1",
            prop1: "test-prop-1",
            prop2: "test-prop-2"
        }
    ]
}

我想要实现的是使用 view_settings 中的属性列表显示 object_list 的内容。这甚至可以使用 jsViews 吗?

【问题讨论】:

    标签: javascript jsrender jsviews


    【解决方案1】:

    为您的问题找到答案的最佳方法是先提出问题,理解它(橡皮鸭法),然后找到答案。

    为了做到这一点,我们需要对对象进行两次别名。这是我简化的 jsViews 模板代码,它将正确显示我的问题示例中的数据:

    <script id="template1" type="text/x-jsrender">
        <table>
            <thead>
                <tr>
                    <th>Name</th>
                    {{for view_settings}}
                    <th>{{>property_name}}</th>
                    {{/for}}
                    <th></th>
                </tr>
            </thead>
            <tbody>
                {{for object_list ~view_settings=#data.view_settings}}
                <tr>
                    <th>{{>name}}</th>
                    {{for ~view_settings ~object=#data}}
                    <th>{{:~object[property_name]}}</th>
                    {{/for}}
                    <th></th>
                </tr>
                {{/for}}
            </tbody>
        </table>
    </script>
    

    希望这可以节省别人的时间;)

    【讨论】:

      猜你喜欢
      • 2016-08-23
      • 2011-07-08
      • 2014-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-07
      • 2016-02-26
      • 1970-01-01
      相关资源
      最近更新 更多