javascript - 模型加载后 Ember.js 不重新渲染模板

标签 javascript ember.js handlebars.js

我正在使用 Ruby on Rails API 服务器学习 Ember.js。我已经完成了所有设置和工作的路线、模板和模型——但是一旦从 API 服务器加载数据,模板就永远不会重新呈现。我没有收到任何错误消息,而且我知道客户正在通过查看 Ember 检查器加载。

客户名单应该在开始之后显示 customer not being displayed

正在从 API 服务器正确加载客户列表: customer is being loaded from the API

路由器

// javacripts/router.js
App.Router.map(function() {
  this.resource('customers', { path: "/" });
});

客户路线

// javascripts/routes/customer_routes.js
App.CustomersRoute = Ember.Route.extend({
  model: function() {
    return this.store.find('customer');
  },
  renderTemplate: function() {
    this.render('customers/index');
  }
});

客户模型

// javascripts/models/customer.js
App.Customer = DS.Model.extend({
  name: DS.attr('string')
});

客户索引模板

// javacripts/templates/customers/index.js.handlebars
<ul>
  <li>start</li>
  {{#each customers}}
    <li>{{name}}</li>
  {{/each}}
</ul>

商店

// javacripts/store.js
App.ApplicationAdapter = DS.ActiveModelAdapter.extend({
  namespace: 'api/v1'
});

最佳答案

代替

{{#each customers}}

它应该读作

{{#each controller}}
  {{name}}
{{/each}}

{{#each customer in controller}}
    {{customer.name}}
{{/each}}

我最近发布了两个截屏视频。一个展示如何开始使用新应用程序,另一个展示如何设置 Grunt:

您可能还会从我今年早些时候的一次演讲中得到一些用处,该演讲在演讲期间开发了一个简单的应用程序,包括 Ember Data。

关于javascript - 模型加载后 Ember.js 不重新渲染模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24519083/

相关文章:

javascript - 我可以将 Marionette Collection View 附加到现有 HTML 吗?

javascript - 如何将常量注入(inject) Angular typescript 中的其他模块?

javascript - Ember.js:将项目添加到 ArrayController 而不先创建它?

javascript - Ember.js 动态段不起作用

javascript - 鼠标悬停在 ag 网格上时行突出显示 react

javascript - Ember - 如何 'save' DOM 状态

javascript - 聊天应用程序 - 测试两个客户端之间的交互

javascript - 将自定义 Markdown 转换为 HTML?

javascript - Jquery/Handlebars 错误消息 - Uncaught TypeError : Object [object Object] has no method 'match'

javascript - 如何将多个回调附加到 YouTube API 事件