私は最初のポリマーのシングルページアプリを沸かせています。ポリマーのベストプラクティスに関するご質問はありません
1)多くのビューでは、ダイアログ(さまざまな確認など)を表示する必要があり、親にダイアログを作成してダイアログを集中化しようとしました。ダイアログの内容は、鉄ページによって切り替わります。
<paper-dialog id="main_dialog" with-backdrop entry-animation="scale-up-animation"
exit-animation="fade-out-animation">
<iron-pages id="dialogpages" selected="login" attr-for-selected="name">
<login-view name="login"></login-view>
<registration-view name="registration"></registration-view>
<emaildialog-view name="emaildialog"></emaildialog-view>
<actionerror-view name="actionerror"></actionerror-view>
<actionconfirm-view name="actionconfirm"></actionconfirm-view>
<passreset-view name="passreset"></passreset-view>
<emailinput-view name="emailinput"></emailinput-view>
</iron-pages>
</paper-dialog>
とJavaScript:ここでは、親のコードは次のようになりますアプリの成長に合わせて
showDialog: function (path, pageName, open) {
this.$.dialogpages.selected = pageName;
this.importHref("/views/dialog_views/" + path + pageName + "-view.html", function() {
if (open) {
this.$.main_dialog.toggle();
}
}.bind(this), null, true);
},
しかしコードが乱雑になっています。紙のダイアログをサブビューでインポートし、そこから表示する方が良いと思いますか?
2)ビュー間でデータを渡す最も効果的な方法は何か分かりません。私は鉄ページを含む登録ビューを持っています。鉄ページにはstep1、step2、step3のビューがあります。最後のステップでは、データをデータベースに保存する必要があります。
親ビュー(たとえばthis.domHost.step1 = dataを使用して)でデータを保存し、最後のステップでデータを処理できると考えていました。または、データを直接ビューからビューに渡すか、iron-metaタグを使用する方が良いでしょうか?
3)SOLVED:イベントの発生とダイレクト関数呼び出し。
親要素の関数を(たとえばthis.domHost.showDialog()を呼び出すなどして)呼び出す方が良いか、必要なときにイベントを発生させて捕捉する必要があるのだろうかと思います。
私は、パフォーマンスの観点からは、直接関数呼び出しが優れている(イベントバブリングなし)が、コードはあまり明確ではないようだが、イベントの発生の利点は、 DOMツリーで深い子どもたち。
編集: 3番目の質問でanswerが見つかりました。私はよりよく捜索すべきだった。
ありがとうございます。Jan
これらは、それが役立つこと、構造およびデータフローについて、次のとおりです。ロブによって http://robdodson.me/interoperable-custom-elements/ https://youtu.be/pAW4YDLtPVs?t=962 –
記事DodsonはWebコンポーネント開発に関する多くのことを明確にしました。回答ありがとう –