2017-05-29 19 views
2

これはかなり初心者の質問です。しかし、EmberJSでは、私のアプリケーションのブログページにリンクするために両方のメソッドが動作することがわかりました。EmberJSで<a></a>の代わりに{{#リンク先}}を使用するのはなぜですか?

<p>{{#link-to 'posts'}} See my blog{{/link-to}}</p> 
<a href="posts"> See my blog</a> 

EmberJSでは{{link-to}}を使用する方がよいですか?どうして?

答えて

4

違いは、<a href="posts">は現在の実行中のEmberアプリケーション内で指定されたルートに移動し、その場所でEmberアプリケーションを再起動します。 Ember内部を使用してシングルページアプリケーション内をナビゲートするため、よりスムーズなユーザーエクスペリエンスが得られるので、{{link-to}}を使用する必要があります。

両方ともになります。がうまく動作していることを確認してください。アンカータグがページをリフレッシュし、適切な場所にあるEmberアプリを再起動します。 {{link-to}}を使用すると、Emberがページを更新した後に再起動するのではなく、JavaScriptを使用して新しいページを表示しているので、より速く感じます。 内での単一ページアプリケーションをナビゲートし、外部ページからSPAにジャンプすることの違いです。

Emberは実行時に{{link-to}}の代わりにアンカータグをレンダリングしますが、デフォルトのアンカータグ動作を停止するために挿入します。ドキュメントはそのようにそれを説明する:デフォルトでは

{{link-to}}コンポーネントが アクションアクションバブリングのこの種としてpreventDefault()を呼び出すことにより、デフォルトのブラウザを防止する が正常に内部的に処理し、我々は にブラウザを取るにしたくありません新しいURL(たとえば)。

あなたがルートに直接モデルを渡すことができ{{link-to}}成分と、

また(https://emberjs.com/api/classes/Ember.Templates.helpers.html#toc_allowing-default-actionから)。これは少し高度ですが、Emberガイドにはいくつかの良い例があります。 https://guides.emberjs.com/v2.13.0/templates/links/

+0

非常に明確です。ありがとうございました! – Cameron

関連する問題