問題タブ [forward-reference]

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 投票する
0 に答える
405 参照

assembly - 2 パス アセンブラはネストされた前方参照を解決できますか

シンボルが前方参照されている場合、2 パス アセンブラで解決できることを理解しています。しかし、シンボルのネストされた定義がある場合

D EQU A+C

C EQU B+A

B EQU A

一言 10

これは 2 パス アセンブラで解決できますか?

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

recursion - Angular2 再帰コンポーネント

これらの投稿とplnkrで説明されているように、再帰コンポーネントをデプロイしようとしています:

親コンポーネントを子コンポーネントに挿入するにはどうすればよいですか?

javascript での Angular2 の再帰的テンプレート

ただし、提供されるソリューションは、コンポーネント オブジェクト自体を処理するだけであり、コンポーネントがインスタンス化することになっている HTML タグの問題は解決しません。

<parent> ... </parent>子コンポーネントは、そのテンプレート内で html タグをどのように使用できますか?

私はあなたが提供できるかもしれない助けとおそらくplunkr/fiddleに非常に感謝しています.

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

c - C の前方参照構造 - 1) ポインターを使用する必要がありますか? 2) 初期化する必要がありますか?

Cで(ネストされた)構造を前方参照しようとしています.

つまり、構造体があり、その中で後で宣言される別の構造体を参照しています。

ネストされた構造をポインターとして宣言し、値で初期化すると、機能します。

次のコードが機能します。

親 (?) 構造体の前にネストされた構造体 (すなわちstruct cpu_speed{...};) を宣言すると、ポインターを使用する必要がなくなり、初期化も必要なくなります。

意味:

struct cpu_speed speed;(1)の代わりに使えますstruct cpu_speed *sp;。(2) 構造体変数に初期値を与える必要がない。

もう一度質問します-前方参照構造で-(1)ポインターで宣言する必要がありますか? (2)値を初期化する必要がありますか?

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

typescript - angular2 コンポーネント (forwardRef なし) を使用して再帰構造を実装していますか?

次の 2 つのコンポーネントで構成される再帰構造があります。

  • OptionsMenuComponent (Aメニュー)
  • MenuItemComponent (メニュー項目)

OptionsMenuComponent: (テンプレート + コンポーネント)

メニュー項目: (テンプレート + コンポーネント)

注:関連性がないため、単純化するためにほとんどすべてのロジックとデザインを削除しました

ご覧のとおり、OptionsMenuComponent は MenuItemComponent とその逆を認識しています。
さらに、MenuItemComponent では、ディレクティブ内で forwardRef を使用していることに気付いたかもしれません。それがないと、ページをロードすると次のエラーが発生します。

エラー: キャッチされていません (約束されています): コンポーネント 'MenuItemComponent' のビューに予期しないディレクティブ値 'undefined' があります

現在、(forwardRefを使用して)書かれた方法ではうまく機能しますが、TSLintはそれに不満を持っており、次のように出力します:

[gulp-tslint] エラー (no-forward-ref) menu-item.component.ts[9, 18]: クラス "MenuItemComponent" で forwardRef を使用しない

私は別の解決策を求めてウェブを見回しましたが、手ぶらで出てきました。私が見つけたのは2つの提案だけです:

  • forwardRef を使用した私のソリューション
  • 「あなたは循環参照を持っています。あなたは何か間違ったことをしているので、それらを切り離してください」(正確な言葉ではありません)

最初の提案はうまくいきますが、私の質問は、これを避けることができるかどうかです。

2 番目の提案は正しく、ほとんどの場合に簡単に実装できますが、(angular2 コンポーネントを使用して) 再帰構造でそれを行うにはどうすればよいですか?

よろしくお願いします。

ps - これより前は、1 つのコンポーネントにすべての機能があり、その単一のコンポーネントがそれ自体を参照することに問題はありませんでした (forwardRef は必要ありません)。コンポーネントは小さくてシンプルです)

TL;DR:
2 つのコンポーネントが相互に参照しています (再帰構造が必要でした)。forwardRef を使用しないとエラーが発生します。forwardRef を使用しない代替ソリューションはありますか?

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

scala - Scala 前方参照

私はScalaが初めてです。私はゲームを作っていて、キャラクターが訪れることができるタイプの場所のリストを持っていますLocation。これを実現するためのケース クラスとコンパニオン オブジェクトがあります。

LinkedLocationsinsideLocationはタイプの配列でありLocation、場所がつながる可能性のある場所をいくつでも持つことができます。この場合、部屋 1 は部屋 2 につながり、その逆も同様です。

私はそれらを怠惰な値にしようとしましたが、スタックオーバーフローで終わります。このような前方参照の問題を修正するにはどうすればよいですか? これを設計するためのより良い方法はありますか?