如何在 Ember.js 中创建条件 link-to?

How to make a conditional link-to in Ember.js?

我正在使用 Ember.js 版本 2.8.2。

只有当条件为真时,我才想将东西包裹在 link-to 中。

先试试:

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

问题:代码不干,因为内容重复了两次。

我应该怎么做?谢谢

第一个选项:

如果您想从 dom 中删除它,请将您的 "link-to" 组件包装为一个组件 (my-admin-link.hbs):

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

比用作:

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

第二个选项:

使用 disabled 和 disabledClass of link-to:

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

在你的 app.css showastext 中可以定义为:

.showastext{
    text-decoration: none;
    cursor: text;
    color: black;
}