ember.js在模板中显示商店数据

时间:2015-03-09 02:17:42

标签: javascript json ember.js

我有从服务器检索的JSON数据,我想在ember.js的模板中显示它。我将数据保存在商店中,我想在模板中呈现数据。

我的模板

<script type="text/x-handlebars" data-template-name="DieDaten" >
<p>{{name}} some text2</p>

 <ul id="todo-list">
 {{#each person in model}}
        <li>
          <label>{{person.firstName}} and text</label>
        </li>
  {{/each}}
  </ul>

 <button id="clear-completed" {{action 'click'}}>
    Submit
  </button>

</script>

和我的相关控制器

App.DieDatenController = Ember.Controller.extend({ 

   model: function () {
     return this.store.all('person');
   }

});

当页面加载时,我明白了。

Uncaught Error: Assertion Failed: The value that #each loops over must be an Array. You passed function () {
    return this.store.all('person');
  }

如何解决这个问题呢?

除了保存到商店,然后渲染商店之外,是否有更简单/更好的方法在模板中呈现JSON?

1 个答案:

答案 0 :(得分:0)

model不支持{p> Ember.Controller,它是Ember.Route的一部分。所以,你的代码应该是:

App.DieDatenRoute = Ember.Route.extend({ 

  model: function () {
    return this.store.all('person');
  }

});

您可以阅读有关在http://emberjs.com/guides/routing/specifying-a-routes-model/

指定路线模型的详情