簡體   English   中英

如何訪問“生成的應用程序控制器”? 在灰燼中

[英]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.jsroute.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM