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

ember.js show store data in template

我有 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');
  }

我该如何解决这个问题才能正常工作?

除了保存到商店,然后渲染商店之外,是否还有 simpler/better 方式在模板中渲染 JSON?

modelEmber.Controller 中不受支持,它是 Ember.Route 的一部分。所以,你的代码应该是:

App.DieDatenRoute = Ember.Route.extend({ 

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

});

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

阅读更多关于指定路线模型的信息