2016-11-23 11 views
0

Ember.jsバージョン2.8.2を使用しています。Ember.jsで条件付きリンクを作成するには?

link-toは、条件が真である場合にのみ物を包み込みたいと思います。

まずを試してみてください。

{{#if isAdmin}} 
    {{#link-to admin}} 
    contents here 
    {{/link-to}} 
    {{else}} 
    contents here 
{{/if}} 

問題:コンテンツが二回繰り返されるため、コードは、乾燥していません。

どうすればよいですか?ありがとう。

+0

{{#link-to admin disabled=isNotAdmin disabledClass='showastext'}} your content {{/link-to}} 

あなたapp.cssのshowastextでは、次のように定義することができますリンク先ヘルパー – kumkanillam

+1

@kumkanillamコードは機能しますが、それは乾かないです。実際、私のコンテンツには多くの行があり、このようなコピー&ペーストをすることは可能です。私はこれを行うより良い方法を考えています。 –

+0

それから、コンポーネントを作成してそれを組み込むことができます。そのため、1つの場所に記述してどこでも使用できます。 – kumkanillam

答えて

5

最初のオプション:

あなたの "リンクの" コンポーネント(私の管理者-link.hbs)などのコンポーネントをラップし、あなたのDOMからそれを削除する場合:

{{#if isAdmin}} 
    {{#link-to admin}} 
    {{yield}} 
    {{/link-to}} 
{{else}} 
    {{yield}} 
{{/if}} 

としてそれを使用より:

{{#my-admin-link}} 
    your content 
{{/my-admin-link}} 

番目のオプション:

リンクへの使用禁止とdisabledClass使用:ありません条件チェックはありませんので、あなたのコードは、OKに見える私にとって

.showastext{ 
    text-decoration: none; 
    cursor: text; 
    color: black; 
} 
関連する問題