如何在Ember.js中创建条件链接?

时间:2016-11-23 06:47:50

标签: ember.js conditional link-to

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

我只想在条件为真时将事物包装在link-to内。

首先尝试

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

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

我该怎么做?感谢。

1 个答案:

答案 0 :(得分:5)

第一个选项:

如果要将其从dom中删除,请将“link-to”组件包装为组件(my-admin-link.hbs):

IR_Type

比使用它:

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

第二个选项:

使用disabled-disabledClass of link-to:

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

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

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