Ember-cli组件将记录显示到组件模板

时间:2016-06-03 17:07:51

标签: ember.js

测试component.js

import Ember from 'ember';

export default Ember.Component.extend({
        store: Ember.inject.service(),
    showLang: Ember.on('init', function() {
      var store = this.get('store');
      return store.findAll('language');
    }),
});

我检查了控制台,是的,他们显示了 XHR完成加载:GET" http://127.0.0.1:8000/languages"。
所以后端识别我的测试组件功能。

现在在test-component.hbs中我有

{{#each showLang as |lang| }}
<li><a href="/all/language/{{lang.url}}">{{lang.title}}</a></li>
{{/each}}   

结果是空的。我该怎么做才能在test-component.hbs中显示数据?

1 个答案:

答案 0 :(得分:1)

首先 - 您应该在路由中执行此操作并将数据作为模型传递给组件,但如果您真的想在组件中执行此操作,则可以这样做:

测试component.js:

$(document).ready(function() {
  $('#index-table').DataTable();
});

测试component.hbs:

import Ember from 'ember';

export default Ember.Component.extend({
  store: Ember.inject.service(),
  showLang: Ember.on('init', function() {
    this.get('store').findAll('language').then(languages => this.set('languages', languages));
  })
});