私は角度4とthree.js
でキューブをレンダリングする簡単なアプリケーションを開発しました。 ViewerComponent
と呼ばれる角型コンポーネントがあり、キューブがレンダリングされます。私の質問に関連して、このコンポーネントのコードは、以下の(init
メソッドのコードを簡単にするためにここに含まれていません)です。three.jsとAngular - 関数が定義されていません
import { Component, AfterViewInit } from '@angular/core';
import * as THREE from 'three';
@Component({
moduleId: module.id,
templateUrl: 'viewer.component.html',
styleUrls: ['viewer.component.css'],
})
export class ViewerComponent implements AfterViewInit{
constructor() { }
ngAfterViewInit(){
this.init();
}
init(){
// define camera, scene, cube, renderer, etc
}
Callback_Method(){
console.log("RESIZE!");
}
onWindowResize(){
this.Callback_Method();
}
}
私はサイズのブラウザコンソールに表示されるメッセージを希望しますブラウザのウィンドウが変更されます。この機能を実装しようとすると、次のエラーが見つかりました。
アプリケーションを実行してブラウザのウィンドウのサイズを変更すると、次のエラーが発生します。ERROR TypeError: this.Callback_Method is not a function
私は次のようにメソッドonWindowResize
のコードを変更する場合は、私が期待される動作を取得:
onWindowResize(){
console.log("RESIZE!");
}
私は技術やthree.js
をフロントエンドに非常に新しいです、そして今、私は完全に失われています。なぜ誰かがこのことを拒否することができますか?前もって感謝します。
これは魔法のように動作を取得するためにHostListenerを使用することができます!一つだけ:私はTypescriptを使っているので、 'onResize'メソッドの定義に引数' event'の型を定義する必要があります。私はあなたの答えを編集することはできません。非常に小さな変更です。あなたは私のためにそれをすることができますか?再度、感謝します。 – GLR