javascript - 在 JS 中通过 div 运行的 forEach() 给出错误

标签 javascript angular

我在一个数组中有几个 div,我想更改它们的高度,即使当我记录 div 的名称并为我提供正确的对象名称时,我仍然收到“这是未定义的”错误控制台中的消息。

就像我说的,当我注销所有 div 的名称时,它们已正确给出,但在我想设置它们高度的那一行,我猜某处“this”有问题。

this.divs.forEach(names);
    function names(div) {
    console.log(div);  //goes thought all the divs correctly
    this._renderer.setElementStyle(div.nativeElement, 'height', largestHeight + 'px');
    }

我在 angular2 中做这件事,以防有人想知道。 问候任何帮助。

最佳答案

你的函数上下文中没有this,尝试使用箭头函数:

this.divs.forEach((names) => {
   ...
}); 

您还可以将 this 绑定(bind)到您的函数。

this.divs.forEach(names.bind(this));

关于javascript - 在 JS 中通过 div 运行的 forEach() 给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42071219/

相关文章:

javascript - 从 IONIC 3 的 Assets 文件夹下载 CSV 文件

angular - 组合多个 Observable

Angular/Jasmine - 如果在 ngOnInit 上调用,Spies 是否工作?

javascript - 更新 PHP 变量

javascript - Next.js v12 中间件不适用于 node-fetch 和 axios

javascript - html5 popstate 事件无法在 chrome 和 ie 上触发

angular - ng build --base-href ="/.../"--deploy-url ="/.../"css 背景图片不起作用

Javascript:如何暂时禁用页面上的所有操作?

javascript - 如果内容未填满窗口,动态调整 div 高度以将页脚保持在底部

angular - 如何在表单上设置多个值?