私は高さを変更する配列内のいくつかのdivを持っていますが、私はdivの名前を記録し、私に正しいオブジェクト名を与える場合でも、私はまだコンソールに "これは未定義です"というエラーメッセージが表示されます。forEach()JSで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.divs.forEach(names.bind(this));
またはES6
let names = (div) => {
console.log(div); //goes thought all the divs correctly
this._renderer.setElementStyle(div.nativeElement, 'height', largestHeight + 'px');
}
「ForEach(names.bind(this))」を試してみてください。スコープの問題のようです。 – Olical
ありがとう、残りのように正しい答え。 –