2015-04-19 22 views
1

在我的HTML文件我有:如何訪問「生成的應用程序控制器」?在灰燼

<script type="text/x-handlebars"> 
    //some code 
    {{outlet}} 
</script> 

而一直擔任我的佈局,所有的模板,但是這並沒有我所提出的任何控制器,以便灰燼生成一個。

我的問題是如何訪問這個車把的控制器?

生成的應用程序控制器official documentation說:

應用模板 您的應用程序啓動時所呈現的默認模板。

這就是我想要能夠訪問。我真正想要做的只是添加到它:

needs: ['someController'] 

PS:找了一下後,我試圖使控制器上文件夾中的文件「application.js」,但它似乎並不在於此。

+0

需要一些細節。 (1)您有意錯過腳本標籤中的模板名稱嗎? (2)你說'如何訪問這個車把的控制器',稍後你說'應用程序模板bla bla這就是我想要訪問'。不能完全得到它 –

+0

我可能有一些混淆的看法,因爲我是Ember的新手,但我想要的是訪問我的應用程序啓動時呈現的默認模板的控制器(如果它甚至存在或可訪問)。 –

+0

真的很抱歉,看起來我正在尋找的是控制器文件夾上的application.js文件,我只是忘了包含它... –

回答

1
<script type="text/x-handlebars"> 
    //some code 
    {{outlet}} 
</script> 

此腳本定義您的應用程序的主要模板在您的HTML。通常你需要命名你的腳本,但這不是Application/index的必要條件 - 請參閱documentation

從文檔

又道:「默認情況下,最上面的應用程序模板綁定到你的ApplicationController:」

App.ApplicationController = Ember.Controller.extend({}); 

所以,如果你需要定製的東西的應用,而不是使用自動生成的控制器,你必須創建一個明確的;那裏你可以添加needs: ['someController']

0

您可以使用簡單的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/

+0

這似乎不是我想要的。 –

0

在你的情況我認爲你在尋找什麼真的是在控制器文件夾中製作一個application.js文件,如下所示:

App.ApplicationController = Ember.ObjectController.extend({ 
    needs: ['someController'], 
}); 

不要忘了將它包含在你的html文件中。