Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Ember.js中创建到的条件链接?_Ember.js_Conditional_Link To - Fatal编程技术网

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

如何在Ember.js中创建到的条件链接?,ember.js,conditional,link-to,Ember.js,Conditional,Link To,我使用的是Ember.js版本2.8.2 只有在条件为真时,我才想将内容包装在链接中 第一次尝试: {{#if isAdmin}} {{#link-to admin}} contents here {{/link-to}} {{else}} contents here {{/if}} 问题:代码不干,因为内容重复两次 我该怎么做?谢谢。第一个选项: 如果要将其从dom中删除,请将“链接到”组件包装为组件(my admin link.hbs): 然后将其用作: {{#

我使用的是Ember.js版本2.8.2

只有在条件为真时,我才想将内容包装在
链接中

第一次尝试

{{#if isAdmin}}
  {{#link-to admin}}
    contents here
  {{/link-to}}
  {{else}}
    contents here
{{/if}}
问题:代码不干,因为内容重复两次


我该怎么做?谢谢。

第一个选项:

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

然后将其用作:

{{#my-admin-link}}
   your content
{{/my-admin-link}}
第二选项:

使用链接的disabled和disabledClass:

{{#link-to admin disabled=isNotAdmin disabledClass='showastext'}}
    your content
{{/link-to}}
在app.css中,showastext可以定义为:

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

第一个选项:

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

然后将其用作:

{{#my-admin-link}}
   your content
{{/my-admin-link}}
第二选项:

使用链接的disabled和disabledClass:

{{#link-to admin disabled=isNotAdmin disabledClass='showastext'}}
    your content
{{/link-to}}
在app.css中,showastext可以定义为:

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

对我来说,您的代码看起来还可以,因为在链接中没有提供条件检查helper@kumkanillam代码可以工作,但不会变干。事实上,我的内容有很多行,像这样做复制和粘贴是可行的。我正在考虑一个更好的方法来实现这一点。那么您是否可以创建组件并包含该组件,以便您可以在一个地方编写它,并在任何地方使用它。对我来说,您的代码看起来不错,因为链接中没有提供条件检查helper@kumkanillam代码可以工作,但不会变干。事实上,我的内容有很多行,像这样做复制和粘贴是可行的。我在想一个更好的方法来实现这一点。那么你们是否可以创建一个组件并包含它,这样你们就可以在一个地方编写它,并在任何地方使用它。