私は「ブログ」アプリを作成しようとした際、次のような課題に直面しています。ルートまたはハンドルバーの状態に基づいてコンポーネントを変更する方法
ヘッダーをレンダリングするグローバルヘッダーコンポーネントがあります。このヘッダーは、単一のブログ投稿を表示しているときにヘッダーシングルを表示する場合を除いて、すべてのルートで同じままです。
これは私が達成しようとしているハンドルバーのロジックである、それは理にかなっている場合:ここで
{{#if single}}
{{header-single}}
{{else}}
{{header-global}}
{{/if}}
はここに私のroute.js
import Ember from 'ember';
import config from './config/environment';
const Router = Ember.Router.extend({
location: config.locationType
});
Router.map(function() {
this.route('posts', function() {
this.route('user', { path: '/user/:id' });
this.route('single', { path: '/:id', });
});
this.route('page', { path: '/:slug' });
});
export default Router;
である私がする必要がどこapplication.hbsですルートに基づいてヘッダーを変更する:
<!-- Page Header -->
{{#if single}}
{{header-single}}
{{else}}
{{header-global}}
{{/if}}
<!-- Main Content -->
{{outlet}}
<!-- Footer -->
は、あなたがハンドルロジックを持つ任意の問題に直面しますapplication.hbs? – kumkanillam
ええ、{{#if single}}は常にfalseと評価されるためです。私は私のルーティングで質問を更新します – odinp123
'single'プロパティはどこに設定していますか? – kumkanillam