【问题标题】:Ember link-to doesn't match if如果 Ember 链接不匹配
【发布时间】:2016-01-06 20:34:33
【问题描述】:

我一辈子都想不通为什么这不起作用

{{#if params.link}}
    {{#link-to params.link}}
        {{fa-icon icon=params.icon}}
        {{#if params.label.left}}<span class="label label-left">{{params.label.left}}</span><i class="triangle triangle-right"></i>{{/if}}
        {{#if params.text}}<span class="text">{{params.text}}</span>{{/if}}
        {{#if params.label.right}}<i class="triangle triangle-left"></i><span class="label label-right">{{params.label.right}}</span>{{/if}}{{/if}}
    {{/link-to}}
{{else}}
    <button {{action params.action}}>
        {{fa-icon icon=params.icon}}
        {{#if params.label.left}}<span class="label label-left">{{params.label.left}}</span><i class="triangle triangle-right"></i>{{/if}}
        {{#if params.text}}<span class="text">{{params.text}}</span>{{/if}}
        {{#if params.label.right}}<i class="triangle triangle-left"></i><span class="label label-right">{{params.label.right}}</span>{{/if}}{{/if}}
    </button>
{{/if}}

使用 ember 2.2.0、ember-data 2.2.0 和 ember-cli 1.13.13

如果有人可以帮我解决这个问题,那就太好了!代码重复也困扰着我,关于如何清理它的想法? (也许不是做一个组件?)

【问题讨论】:

  • params.link 的值是多少?

标签: ember.js handlebars.js conditional link-to


【解决方案1】:

在行尾有一个双 {{/if}},其中包含 {{params.label.right}}。这可能是问题所在。

您可以将那段代码提取到一个组件中,这样可以消除代码重复。

【讨论】:

  • 你也可以创建一个动作而不是使用链接到,然后在你的动作代码中你只需转换到提供的任何链接,但我认为这比你正在做的更棘手。
猜你喜欢
  • 2018-11-22
  • 1970-01-01
  • 1970-01-01
  • 2010-09-27
  • 2015-02-14
  • 2015-09-29
  • 1970-01-01
  • 1970-01-01
  • 2011-06-14
相关资源
最近更新 更多