問題タブ [this-pointer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
628 参照

javascript - Angular 6コンポーネントインスタンスを指す「この」コンテキストを提供する方法は?

D3 と JS に基づいて、地球儀で動作するデモがあります。今、そこから Angular 6 コンポーネントを作成しようとしています。

Angular を使用しない完全なデモは次のとおりです。

http://jsfiddle.net/up715k2n/

簡単な Angular コンポーネントのデモを次に示します。

https://stackblitz.com/edit/angular-dohwvt

マウスを動かすと、アプリは「これ」を console.log に記録します。どちらのデモでも、キャンバスを指している 'this' がありますが、これは正しいです。

しかし、Angular の例では、アプリにエラーがあります:

this.getCountry は関数ではありません

「getCountry」はキャンバスではなくコンポーネント メソッドであるためです。

そのため、キャンバスとコンポーネントの両方のコンテキストを取得する方法を見つけようとしています。

どうやってするの?

https://stackblitz.com/edit/angular-rlttwv?file=src/app/earth-globe.component.ts - コンポーネントを指す

https://stackblitz.com/edit/angular-xjahkl?file=src/app/earth-globe.component.ts - キャンバスを指す

0 投票する
1 に答える
934 参照

c++ - 読み取りアクセス違反。これは 0xCDCDCDCD でした

私は何が間違っているのか混乱していますか?デバッグ中にthis表示0xcdcdcdcd {theDouble=??? }されるので、変数がミューテーターに格納されていないことがわかります。この問題を修正するにはどうすればよいですか? thisどこかで初期化する必要がありますか?ちなみに私はビジュアルスタジオを使用しています。お手伝いありがとう。