1

Loginフィールドを持つWeb コンポーネントがありLoginStateます。LoginStateコードの他の部分でセットアップされる可能性のあるインスタンスを渡しLogin、作成されたメソッドの前/中にインスタンスに追加したいと思います。

これは可能ですか?そうでない場合、私の代替手段は何ですか?私が考えることができる他の唯一の方法は、LoginStateインスタンスを保持するグローバル変数を使用してそれを参照することですが、これは良い考えとは思えません。

4

1 に答える 1

1

コンポーネントをインスタンス化するときに、構文を使用することは確かに可能です

<x-custom-element a-field-name="{{expression}}"></x-custom-element>

式が評価され、CustomElement クラスで定義した名前のフィールドがaFieldName値で初期化されます{{expression}}(関連する説明を参照してください)。個人的には、loginstate のようなものを渡すことはお勧めしません。サイトが XSS 攻撃に対して非常に脆弱になるためです...

おそらく、初期化後にログイン状態を設定できるようにするメソッドをコンポーネントクラスに公開することをお勧めします。要素を DOM に挿入した後、要素のフィールドにアクセスしquery('#myLoginStateId').xtag、公開されたメソッドをログイン状態で呼び出すことができます。

要素が DOM に挿入されるまで、要素の xtag にアクセスすることはできません。そのため、要素の insert() メソッドで適切なイベントを発生させて、アプリケーションの残りの部分が安全に設定できる時期を認識できるようにしてください。適切なフィールド。

于 2013-03-07T08:36:28.383 に答える