如何访问Polymer 1.0中另一个方法中定义的变量?

时间:2016-05-19 10:34:52

标签: json parsing polymer polymer-1.0 uncaught-exception

我想访问我的Polymer元素的ready()中定义的属性(如以下代码所示):

Polymer({
  is: 'my-list',

  ready: function() {
    this.tasks = [{
       "task": {
          "name": "OTS",
          "rules": [{"name": "rule 1", "id": "1"}]
       }
    }];

    this.parseJson();
  },

  parseJson: function() {
    this.taskname = JSON.parse(this.tasks.task.name); // errors here
  }
});

但是我收到以下错误:

  

未捕获的TypeError:无法读取未定义的属性“名称”

这一行:

JSON.parse(this.tasks.task.name);

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

old_branch是一个对象数组,但origin没有使用正确的语法来访问数组元素。

this.tasks应该使用parseJson(),假设您的实际代码可以有多个任务,并且您只对第一个任务感兴趣。此外,您不需要使用parseJson(),因为任务名称不是JSON字符串。

这是一个有效的演示:

this.tasks[0].task.name
JSON.parse()