Javascript Mithril组件don';我什么也不退

Javascript Mithril组件don';我什么也不退,javascript,jquery,mithril.js,Javascript,Jquery,Mithril.js,你能帮我拿下米特里尔吗?又来了?:) 在这个组件中,我想显示一些数据,但是m()不显示任何内容,但是数据不是空的。 多谢各位 var default_panel_component = { controller: function(args) { return { 'data': args.data //Object {name1: "data1", name2: "data2", name3: "data3"} } },

你能帮我拿下米特里尔吗?又来了?:)

在这个组件中,我想显示一些数据,但是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设置为表行的子行,因此如果需要生成多行,请将其考虑在内。

m
应返回一个对象或抛出一个错误。在这种情况下,它肯定会返回一个对象。这里似乎没有足够的信息来找出你到底出了什么问题。也许试着问一下谢谢你,我找到了我的“冲突男孩”,我很高兴它帮了我的忙。请通过单击复选标记来考虑。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这样做。