[英]How to access a “generated application controller”? in Ember
在我的HTML文件中,我有:
<script type="text/x-handlebars">
//some code
{{outlet}}
</script>
它一直是我所有模板的布局,但是我沒有任何控制器,所以Ember會生成一個。
我的問題是如何訪問此車把的控制器?
官方文檔中 生成的應用程序控制器顯示:
應用程序模板是應用程序啟動時呈現的默認模板。
這是我希望能夠訪問的。 我真正想做的就是添加它:
needs: ['someController']
PS:經過一番尋找之后,我嘗試在controllers文件夾中制作一個文件“ application.js
”,但事實並非如此。
就您而言,我認為您真正要尋找的是在controllers文件夾中制作一個application.js文件,如下所示:
App.ApplicationController = Ember.ObjectController.extend({
needs: ['someController'],
});
並且不要忘記將其包含在html文件中。
<script type="text/x-handlebars">
//some code
{{outlet}}
</script>
該腳本在HTML中定義了應用程序的主模板。 通常,您需要命名腳本,但這對於Application/index
不是必需的-請在文檔中查看。
同樣從文檔中:“默認情況下,最頂層的應用程序模板已綁定到ApplicationController:”
App.ApplicationController = Ember.Controller.extend({});
因此,如果您需要為應用程序自定義某些內容,而不是使用自動生成的控制器,則必須創建一個顯式的控制器。 您可以在其中添加needs: ['someController']
。
您可以使用簡單的IndexRoute
創建application.js
和route.js
文件。
App = Ember.Application.create();
App.IndexRoute = Ember.Route.extend({
model: function() {
return ['red', 'yellow', 'blue'];
}
});
並將您的{{outlet}}
替換為模板
<ul>
{{#each item in model}}
<li>{{item}}</li>
{{/each}}
</ul>
看一下這個初學者示例: http : //emberjs.jsbin.com/koziwatacu/1/edit
官方文檔: http : //guides.emberjs.com/v1.11.0/templates/the-application-template/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.