2013-10-17 63 views
1

因此,这里是我的HTML:EmberJS传递变量默认模板

<script type="text/x-handlebars"> 
    <div id="top-panel"> 
     <h1>{{title}}</h1> 
    </div> 
    <div id="wrapper"> 
     {{outlet}} 
    </div> 
</script> 

<script type="text/x-handlebars" id="home"> 
    <ul> 
     {{#each}} 
     <li>{{name}}</li> 
     {{/each}} 
    </ul> 
</script> 

<script src="js/app.js"></script> 
<script src="js/router.js"></script> 

我app.js:

window.App = Ember.Application.create(); 

我router.js:

App.Router.map(function() { 
    this.resource("home", { path: "/" }); 
}); 

App.HomeRoute = Ember.Route.extend({ 
    model: function() { 
     $.getJSON("mocks/stub1.json", function (data) { 
      return data; 
     }); 
    } 
}); 

现在我的问题是我怎样才能发送一个变量到默认模板(在{{outlet}}中渲染home模板的模板)。

正如您所见,我希望{{title}}成为一个动态变量。问题是,我已经将归属路由分配给/路径,因此我不确定如何使{{title}}变为动态。

回答

1

您调用它的默认模板名为application模板。因此,您可以根据需要在ApplicationControllerApplicationRoute上定义title属性。如果你去控制器:

App.ApplicationController = Ember.ObjectController.extend({ 
    title: 'Foo', 
    ... 
}); 

希望它有帮助。

+0

谢谢你队友:) –