Ember。在#each helper

时间:2015-05-08 16:28:18

标签: ember.js

我一直在与摔跤比我承认的时间更长。我正在尝试从本地存储加载一些数据,在路由层将返回的值设置为我的模型,然后使用该内容呈现Ember.Select。很简单的东西吧?

这是我的路线,我在哪里加载数据:

App.IdentityRoute = Ember.Route.extend({
  model: function() {
    return new Promise(function(resolve, reject) {
      MuttrChat.models.Identity.find({}, function(err, results) {
        if (err) {
          return reject(err);
        }

        resolve({ identities: results });
      });
    });
  },
  actions: {
    ready: function() {
      this.transitionTo('inboxes');
    }
  }
});

好的,很好,这很有效。我的控制器不包含与问题相关的任何内容(只是一个动作),所以我会通过语法高亮来饶死你。这是我试图呈现的模板的片段:

{{#if model.identities}}
  <li>
    {{view 'select' classNames='topcoat-select' content=model.identities value=selectedIdentity size=6 optionValuePath='content.userID'}}
  </li>
{{/if}}

如果查询结果为空(即此块没有运行),一切都很好,但是当我有结果时(这就是重点),Ember会抛出,给我:

  

错误:断言失败:#each循环的值必须是   阵列。您传递了[[object Object],[object Object]]

这让我疯了,因为那是显然是阵列!我使用Ember.AEmber.ArrayProxy尝试了各种丑陋的黑客攻击,但最终都会导致同样的错误。

这里的任何帮助非常赞赏。

1 个答案:

答案 0 :(得分:0)

而且,事实证明,存储适配器返回的结果实际上是 acual 数组... -.-

谢谢Ember,你一直都是对的。