骨干-无法读取未定义的属性'get'(_.each)

时间:2018-08-08 15:31:20

标签: javascript backbone.js underscore.js

我正在尝试使用_.each循环,但由于某些原因,我收到以下错误:

Cannot read property 'get' of undefined

每次我使用elem尝试从数据中获取信息时,都会返回错误。

_.each( data, (elem) => {
            var row =  Moment(elem.get('date')).format($.i18n.prop('moment.date.time.format')) + ';' + elem.get('name') + ';' + elem.get('type') + ';' + elem.get('event') + ';' + elem.get('message') + '\n';
            rows.push(row);
        });

我确定data也不为空。但是由于某种原因,它不想识别elem。代码有问题吗?

编辑:我通过使用map而非_.each解决了该问题,并添加了一个将数据转换为JSON的功能:

var rows = [];
var data = this.attributes.lines.toJSON();
_.map(data, (elem) => {
    const {date, objectName, objectType, event, messageKey, messageParameters} = elem;
    console.log(date + " ==> " + Moment(date).format($.i18n.prop('moment.date.time.format')));
var row =  Moment(date).format($.i18n.prop('moment.date.time.format')) + ";" + objectName + ";" + objectType + ";" + event + ";" + $.i18n.prop(messageKey, messageParameters) + ";" + '\n';
rows.push(row);

希望这也会对其他人有所帮助。

0 个答案:

没有答案