为什么插座无法访问模型数据?

时间:2013-07-09 07:24:34

标签: ember.js

我有this jsfiddle,我正在尝试渲染节点模板:

  <script type="text/x-handlebars" data-template-name="node">
    <h1>Node template</h1>
    <p>The outlet comes here:</p>
    {{outlet}}
  </script>

这应该呈现node/indexnode/template1模板,具体取决于路线。这实际上正在发生,但模板只显示空数据。那是为什么?

(数据很好,可以在nodes表格模板中看到)

2 个答案:

答案 0 :(得分:2)

您需要声明node / index和node / template1的路由,然后实现模型函数,以便从节点资源中检索模型,就像放置动态段一样。

例如:

App.NodeTemplate1Route = Ember.Route.extend({
  model: function() {
    return this.modelFor('node');
  }
});

App.NodeIndexRoute = Ember.Route.extend({
  model: function() {
    return this.modelFor('node');
  }
});

你可以看到它在这个版本的小提琴中起作用:http://jsfiddle.net/ianpetzer/XajSS/#base

答案 1 :(得分:1)

node/indexnode的隐式子路由。它没有NodeRoute中提供的模型。您需要使用needs来查找NodeIndexController中的值。

  App.NodeIndexController = Ember.ObjectController.extend({
      needs: 'node',
      contentBinding: 'controllers.node'
  });

更新了jsfiddle