ポリマーDART 1.0.0での@ refreatableの目的は何ですか? -- dart フィールド と dart-polymer フィールド 関連 問題

What is the purpose of @reflectable in Polymer Dart 1.0.0?












3
vote

問題

日本語

このように@ refleatableを使わなければならない場所のいくつかをすでに知っています

<事前> <コード> @property String get name Band =>_nameBand; @reflectable void set nameBand(val) { _nameBand = val; notifyPath('nameBand', _nameBand; }

および「要素をクリック」する、

<事前> <コード> <paper-button on-click="clicked"></paper-button>

要素内部の内部クラス定義は、on-clickイベントで呼び出すイベントハンドラメソッドを定義します。

<事前> <コード> ... @reflectable void clicked([_, __]) { ... }

および@虚偽の注釈なしで、Polaper-Buttonをクリックするたびに使用する場合は、使用する設定またはメソッドのいずれかを見つけることができません。なぜ@ reflexingableが必要なのか、その目的は何ですか?

私は自分の質問に答えているようですが、私はいくつかの説明が好きです。ありがとう。

英語

I already know some of the places I have to use @reflectable in like this

@property String get name Band =>_nameBand; @reflectable void set nameBand(val) {    _nameBand = val;    notifyPath('nameBand', _nameBand; } 

And for events triggered by, say, clicking an element.

<paper-button on-click="clicked"></paper-button> 

Inside the elements class definition where you define the event handler method that you want to be called on the on-click event.

...  @reflectable void clicked([_, __]) {    ...  } 

And without the @reflectable annotation, Polymer won't be able to find either the setter or the method you want to be used whenever the paper-button is clicked. Why is @reflectable needed, as in, what is its purpose?

I realise I seem to be answering my own question, but I would love some clarification. Thanks.

</div
     

回答リスト

5
 
vote
vote
ベストアンサー
 

<コード> http://localhost:8080/details/2 3 の注釈なしツリーシェーカーは離れポリマーが必要とするすべてのメタデータをスローします。ポリマーは、それが反射することなく、限られた量を使用することを可能にするために https://pub.dartlang.org/packages/reflectable に使用しますあまりにも多くのコードサイズを膨満感ます。

 

without the @reflectable annotation the tree shaker will throw away all the meta data needed by polymer. Polymer uses https://pub.dartlang.org/packages/reflectable to allow it to use a limited amount of reflection without bloating the code size too much.

</div
 
 
 
 
6
 
vote
@Anders'と答えたことに加え、

...
あなたは、イベントハンドラ(<コード> http://localhost:8080/details/2 5 の)として、または、<コード> http://localhost:8080/details/2 6 http://localhost:8080/details/2 4 を持つすべてのメソッドに注釈を付ける必要がありますコード>。 また、

にバインドするためにあなたがしたいモデルクラスのすべてのフィールドに注釈を付ける必要があります <事前> <コード> http://localhost:8080/details/2 7
 

In addition to @Anders' answer...
you need to annotate every method with @reflectable that you want expose to Polymer to be used as event handler (on-tap="clickHandler") or for bindings with funciton calls like attribute-name="{{computeValue(someName)}}". You also need to annotate every field in a model class you want to bind to

Person extends JsProxy {   @reflectable String firstName;   @reflectable String lastName; } 
</div
 
 
       
       

関連する質問

1  その時点で `set`を使用していません  ( Using set doesnt apply at that point in time ) 
私が何かをしたら、それをもう一度それに気づいた: <事前> <コード> @property int x = 1; ...code... set("x", 2); print(x); それは1として表示されます。その理由は、必ずすぐにこれを実行しないとい...

1  Polymer.DARTを使用したDART-GESION JavaScriptは失敗しました  ( Dart generated javascript with polymer dart fails ) 
ポリマーを使用したMy Dartアプリは、JavaScriptとして実行されたときに機能しなくなりました。私は最近DARTエディタを1.2.0に更新しました.DART SDK 1.2.0では、DART Editorを1.2.0.release(安定しています)...

11  角度ダーツとポリマーダーツの違い  ( Difference between angular dart and polymer dart ) 
角度は、ダイナミックな双方向データバインディングの可能性を与えます。しかし、カスタム要素と指令を作成することもできます。 だから、私がダーツの角度を使うならば、それ以上ポリマーを必要としない、それは正しいですか? ...

0  GoogleのDart "Tracker"サンプルアプリケーションがDart Editor環境では機能しない  ( Googles dart tracker sample application doesnt work under dart editor enviro ) 
次のURLには非常に良いタスクトラッカーDARTデモアプリケーションがあります。 https://www.dartlang.org/samples/tracker/ ソースコードをダウンロードしてDARTエディタでDartiumで実行すると、アプリは機能...

1  変更のリストにリスナーを作成します  ( Creating a listener on a list for changes ) 
リストを含むDARTオブジェクトを持っています。単に置く: <事前> <コード> class Test extends PolymerElement{ List list = []; addTask(item){ list.add(item)...

1  Polymerを使用してDARTのネストされたDOM REP要素を取り外す方法> 1.0  ( How to remove a nested dom rep element in dart using polymer 1 0 ) 
こんにちは私はポリマー1.0 を使って入れ子の要素を取り除く正しい方法を見つけることができないようです createMigrationTable.html <事前> <コード> <dom-module id="custom-create-migration...

5  [Polymer UI要素]タブを使用してタブが選択されたときのコンテンツの切り替え  ( Switching content when tab selected using polymer ui elements tabs ) 
polymer-ui-tabs コンポーネントは、どのタブに基づいてコンテンツを切り替える従来のタブコンポーネントに使用しています。 polymer-ui-tabs コンポーネントは、コンテンツを切り替えるための組み込みメカニズムなしでタブセレクタビット...

1  ポリマー紙の底部の空白  ( Blank space at bottom of polymer paper dialog ) 
私はログインに使用するカスタムポリマーダイアログを持っています、これは私がそれがあなたがそれを見たいものです: これは私がそれを達成するために使っているコードです: <事前> <コード> <polymer-element name="login-dial...

0  DART用紙 - ボタンオンクリックイベントが機能しません  ( Dart paper button onclick event does not work ) 
紙ボタンをイベントにリンクしようとしていますが、下の例ではイベント(add1)がまったく呼ばれているようです。 問題はどこにあるのか? <コード> <link rel="import" href="packages/polymer/polymer.html"...

1  キーフレームを使用してポリマーの使用方法/奥行き/ポリマー  ( How to use deep in polymer with keyframes ) 
私は2つのポリマー成分を1つの親と1人の子供に持っています。私はより多くの子供を作る必要があることを私は知っているからです、私はすべての子供がそれを使うことができるように、私のCSSコードを親に移動したいと思います。私はコードを動かしていたと述べていました、そ...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有