我想访问我的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);
我该如何解决这个问题?
答案 0 :(得分:2)
old_branch
是一个对象数组,但origin
没有使用正确的语法来访问数组元素。
this.tasks
应该使用parseJson()
,假设您的实际代码可以有多个任务,并且您只对第一个任务感兴趣。此外,您不需要使用parseJson()
,因为任务名称不是JSON字符串。
这是一个有效的演示:
this.tasks[0].task.name
JSON.parse()