Ember jsのURLにコンポーネントの名前を追加したいとします。ember jsにコンポーネントの名前をURLに追加する方法
例:
主なURLがある場合:localhostを:4200 /家、 その後、自宅で、私はコンポーネント(たとえば - ABC)にリダイレクトする/呼び出す場合、URLが追加されるはずです:
はlocalhost:4200/ABC または はlocalhost:4200 /ホーム/ ABC
Ember jsのURLにコンポーネントの名前を追加したいとします。ember jsにコンポーネントの名前をURLに追加する方法
例:
主なURLがある場合:localhostを:4200 /家、 その後、自宅で、私はコンポーネント(たとえば - ABC)にリダイレクトする/呼び出す場合、URLが追加されるはずです:
はlocalhost:4200/ABC または はlocalhost:4200 /ホーム/ ABC
あなたは{{component}}
ヘルパーでそれを行うことができます。
ホームの動的パスを定義し、model
フックでurlからホームコントローラにコンポーネント名を送信する必要があります。
以下は、ソリューションの重要な部分です。
//router.js
this.route('home', {path: 'home/:cmp'});
//routes/home.js
model(params){
return params.cmp;
}
//templates/home.hbs
{{component model}}
主なURLがある場合this tiwddle
を見てみてください:localhostを:4200 /家、そして自宅で、私は コール/コンポーネント(たとえば - ABC)にリダイレクトする場合は、 URLは追加されます:
どのようにしてemberのコンポーネントにコール/リダイレクトしますか?あなたがそれを行うためのいくつかのハッキーな方法を持っている場合、私はあなたにこれをしないように励まします。 Emberでは、ルータはあなたが定義したルートへの現在のURLを照合します。
/home/abc
URLパスを取得した場合は、abc
ルートがhome
ルート内にネストされていることを意味します。
Router.map(function() {
this.route('home', function() {
this.route('abc');
});
});
すべてのルートがホームルートになることがわかっている場合は、手動で定義できます。あなたが知らない場合、または何が来るのだろうと仮定したら、defining the dynamic segmentsのURLに行きます。
私は最近、ember jsの学習と作業を始めました。 – user2865480
ルートに作成されたページは、URLにリダイレクトされると表示されます。 例:ログイン用のルートがある場合、home、パスワードを忘れました。ホームにはWebアプリケーションのすべてのコンポーネントが含まれています。次に、urlに/ login、/ home、または/ forgot-passwordを付けることができます。 /abcや/ home/abcのように、家の中の任意のコンポーネント(abc)をURLに表示できない 私の理解が間違っている場合は教えてください – user2865480
あなたはEmberを初めてお使いになり、私はこれが特殊なケースではないと賭けています。答えはあなたがこれについて考えている方法を変えることだと思います。コンポーネントをルートのように動作させるのではなく、単にルートを使用して、コンポーネントをそのルートのテンプレートに配置します。 – sheriffderek