0

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

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

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

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

4

2 回答 2

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

于 2013-07-09T07:55:42.013 回答
1

node/index是 的隐式子路由node。它没有NodeRoute. 您需要使用needs来查找NodeIndexController.

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

更新了 jsfiddle

于 2013-07-09T07:55:00.373 回答