ember if else 条件

ember if else conditionals

我有一个包含 link 的条件语句。如果某件事是真的,我希望 link 到 'place a' 如果它不是真的,我希望它 link 到 'place b'。但是我遇到构建错误。

我删除了条件语句,只有一个正常的 link (link-to) ...所以只有一个 link 到一个地方我的代码构建正常。构建错误就在我尝试拥有 2 links 时。见下文:

        <div class="card text-xs-center">
          {{if isShowingModal}}
          {{#link-to 'place-a'}}
          {{else}}
            {{#link-to 'place-b'}}
          {{/if}}
              <div class="card-block">
                  <i class="fa fa-cogs" aria-hidden="true"></i>
              </div>
              <div class="card-block">
                  <h4 class="card-title">The Place</h4>
              </div>
          {{/link-to}}

        </div>

错误说:错误:link-to 不匹配如果 - 8:19

application.js

export default Ember.Controller.extend({
    isShowingModal: false,
    actions: {

        showNavMenu: function() {
          this.toggleProperty('isShowingModal');
        }
    }
});

实际上你并没有正确结束link-to helper。它应该以 {{/link-to}} 结尾 所以在你的情况下它将是

{{#link-to 'place-a' }} Place A {{\link-to}

{{#link-to 'place-b' }} Place B {{\link-to}

在您的情况下,完整代码将是

<div class="card text-xs-center">
          {{if isShowingModal}}
           {{#link-to 'place-a' class='card-block fa fa-cogs'}}  
             The Place 
           {{/link-to}}
          {{else}}
            {{#link-to 'place-b' class='card-block fa fa-cogs'}}  
             The Place 
            {{/link-to}}
          {{/if}}         
</div>

为了你的帮助检查它http://emberjs.com/api/classes/Ember.Templates.helpers.html#method_link-to

是的,这是因为您没有正确关闭 link-to。这将帮助您避免重复 link-to 语句。

<div class="card text-xs-center">
    {{#link-to (if showingModal "place-a" "place-b") class='card-block fa fa-cogs'}}
        <div class="card-block">
            <i class="fa fa-cogs" aria-hidden="true"></i>
        </div>
        <div class="card-block">
            <h4 class="card-title">The Place</h4>
        </div>
    {{/link-to}}
</div>