1

templateまたはpartialビュー データを含むようにするにはどうすればよいですか? Ember、ハンドルバー、requireJS を使用しています。outlets現在、ビューデータのみが含まれていることがわかりました。テンプレートにモデルのプロパティを表示しようとしています。具体的には、モデルのnumberFiveプロパティをに表示しようとしています。ページの URL に関係なく、同じページのさまざまなビューからテンプレートを表示したいので、アウトレットでの使用は理想的ではありません。GraphDatagraphHolderTemplate

アプリケーション ビュー:

define(['ember', 'text!templates/applicationTemplate.html'],
       function(Em, applicationTemplate) {
  var ApplicationView = Em.View.extend({

    // warning: template doesn't work here, even though defaultTemplate does.
    defaultTemplate: Em.Handlebars.compile(applicationTemplate),
  });
  return ApplicationView;
});

アプリケーション テンプレート:

<h1>{{#linkTo 'graph'}}Graph{{/linkTo}}</h1>
<h2>{{#linkTo 'graphHolder'}}Graph Holder{{/linkTo}}</h2>
<h4>outlet</h4>
{{outlet}}
<h4>template graphHolder</h4>
{{template graphHolder}}
<h4>partial graphHolder</h4>
{{partial 'graphHolder'}}

グラフホルダーテンプレート:

<h3>This is the graphHolder</h3>
<p>view.graphData.numberFive is: {{view.graphData.numberFive}}</p>

グラフホルダービュー:

define([ 'text!templates/graphHolderTemplate.html',
         'controllers/GraphController',
         'models/GraphData',
         'ember',
        ], function(graphHolderTemplate, GraphController, GraphData, Em) {
  // This is all that sets the template. hmmm
  Em.TEMPLATES['graphHolder'] = Em.Handlebars.compile(graphHolderTemplate);
  var graphData = GraphData.create();
  console.log("graphData.numberFive is ": graphData.numberFive);

  var GraphHolderView = Em.View.extend({
    controller: GraphController,
    classNames: ['hero-unit'],
    graphData: GraphData.create(),
  });
  return GraphHolderView;
});

サイト

4

1 に答える 1