作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在初始化一个数组并尝试将元素插入该数组。但我收到此错误,提示无法读取未定义的属性“列表”。
list: Array<any> = [];
this.data.forEach(function(element) {
this.list = [];
});
this.data.forEach(function(element) {
this.list.push({
'name' : this.url
})
});
即使我正在初始化数组,它也表示未定义
最佳答案
使用箭头函数来保留“this”上下文,例如
(element) => { }
而不是
function(element) { }
箭头函数不会创建新的作用域,常规函数会创建新作用域,因此“this”指的是普通函数声明中的函数作用域(其中列表未声明),而不是像您想要的组件作用域(其中声明列表) .
通常,您会更频繁地使用箭头函数。常规函数声明是更特殊的情况。
关于javascript - Angular 4 typescript : Cannot read property 'list' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49946457/
我是一名优秀的程序员,十分优秀!