代码之家  ›  专栏  ›  技术社区  ›  Jack

如果在Ember.js中获取JSON时为else

  •  0
  • Jack  · 技术社区  · 11 年前

    我是Ember.js的新手,但到目前为止我已经很好了,我现在遇到的问题是我使用这个 Route.Extend :

    App.AppsRoute = Ember.Route.extend({
      model: function(){
        return Ember.$.getJSON('/api/apps.php').then(function(data) {
          return data;
        });
      }
    });
    

    我现在想要的是 if-else 有条件地告诉我JSON数组何时大于1。 这是我放在模板中的内容:

      <script type="text/x-handlebars" id="apps">
        <p class="heading-table">Apps</p>
        <a class="submitPrimary" {{action 'addModal' 'newapp' model}}>Add new</a>
    
        {{#if data}}
          <table class="apps-table">
          <tbody>
            <tr>
                <th>ID</th>
                <th>Name</th>
                <th>Quota left</th>
                <th>Installs</th>
                <th>Owner</th>
                <th>Status</th>
            </tr>
            {{#each}}
              <tr {{#link-to 'app' this}}
                  <td>{{id}}</td>
                  <td>{{name}}</td>
                  <td>{{quota.used}} <b>/</b> {{quota.remaining}}</td>
                  <td>{{installations}}</td>
                  <td class="user">@{{owner}}</td>
                  <td>{{status}}</td>
              </tr>
              {{/link-to}}
            {{/each}}
          </tbody>
          </table>
        {{else}}
          <center>
            <h2>No apps created</h2>
            <p class="read-more-mini">Click <a href="#" {{action 'addModal' 'newapp' model}}>here</a> to create a new app.</p>
          </center>
        {{/if}}
      </script>
    

    if语句将呈现表,其他语句将呈现中心标记及其内部的标记 else 渲染。 尽管如此 data 设置为JSON响应。

    为什么会发生这种情况,我该如何解决 如果是其他 有条件的

    1 回复  |  直到 11 年前
        1
  •  1
  •   melc    11 年前

    需要对照 model 如。

    {{#if model}}
    

    http://emberjs.jsbin.com/welarego/1/edit

    还有一些无关紧要的东西,但我认为 tr 中的元素 <tr {{#link-to 'app' this}} 未关闭。 如果需要具有相同的效果,例如具有可点击的行,

    血红蛋白

    ....
    {{#link-to 'app' this tagName="tr"}}
    
                  <td>{{id}}</td>
                  <td>{{name}}</td>
                  <td>{{quota.used}} <b>/</b> {{quota.remaining}}</td>
                  <td>{{installations}}</td>
                  <td class="user">@{{owner}}</td>
                  <td>{{status}}</td>
    
    {{/link-to}}
    ....
    

    http://emberjs.jsbin.com/xezajeyo/1/edit