0

每次我的标签收到来自父标签的更新时,我都会尝试更新一个数组。这是我的代码:

var tag = function(opts){
  this.set = [];
  var self = this;

  this.on('updated', function(){
    var obj = opts.my_topics;
    var better_obj = {};
    for (var key in obj) {
      if (obj.hasOwnProperty(key)) {
        var topic_title = key;
        better_obj = obj[key];
        better_obj['title'] = key;
      }
    }
    self.set.push(better_obj);
  })
}

每当我尝试 push() 时,我都会收到一个错误: Uncaught SyntaxError: Unexpected token ; 数据库.js:60。当我删除推送的代码行时,错误就消失了。在这种情况下,我使用 this/self 是错误的还是其他原因?

我在这里尝试完成的是从 opts 中获取一个对象(接收定期更新),转换为一个数组,并将其用于each我的标签中的循环。我不知道如何做到这一点,除了 a) 我现在通过访问尝试做的事情this,或者 b) 重新连接我的 opts 以提供一个数组而不是一个对象(这对我来说目前正在失败,因为我正在使用 Redux并且它不喜欢调度非对象)。

4

0 回答 0