秘银组件不返回任何内容

Mithril component don't return anything

本文关键字:任何内 返回 组件      更新时间:2023-09-26

你能帮忙解决秘银吗?再?:)

在这个组件中,我想显示一些数据,但 m() 不显示任何内容,但是数据不为空。谢谢

var default_panel_component = {
    controller: function(args) {
        return {
            'data': args.data //Object {name1: "data1", name2: "data2", name3: "data3"}
        }
    },
    view: function(ctrl) {
        return m("table", [
            $.each(ctrl.data, function (key, value) {
                console.log(key), //key1
                console.log(value), //data1
                console.log(typeof value), //string
                m("td", value)
            })
        ])
    }
};

这里的问题是你正在使用$.each来构建m('table')调用的子级,但each只会在每个对象上执行,而不返回任何内容。所以,从本质上讲,你只剩下一张空桌子。

您需要的是 [$.map][1] ,它将数组或对象中的所有项目转换为新的项目数组。这样,您将为 ctrl.data 上的每个属性返回一个 m('td') 元素。

你可以看到它在这个小提琴上工作。我还将 tds 设置为表行的子项,因此如果您需要生成多行,请考虑这一点。