2014-01-08 66 views
0

當用戶點擊並定位主體中的標題時,我想在名爲'workflow_editor_sidebar.hbs'的側邊欄.hbs文件中呈現'we-is-app-complete.hbs'該頁面的內容('workflow_editor.hbs'),但我不想改變當前的路線。我試過{{action on =「focusIn}},但我沒有在workflow_editor_controller.js中定義的函數放在'action'和'on ='之間,我們調用這個未定義函數renderIsAppCompleteTemplate: 'Emberjs使用{{action ???渲染模板on =「focusIn」}}

如果選擇了不同的標題,側邊欄將隱藏'we-app-complete.hbs'並呈現一個新模板,但在這個例子中,我們只關注'we-is-app- complete.hbs'

在 '我們-IS-APP-complete.hbs'

<h2> This is the code that I want to render.</h2> 

在 'workflow_editor.hbs' == 'workflow_editor_sidebar.hbs'

{{#if 'renderIsAppCompleteTemplate} 
    {{render 'we-is-app-complete.hbs}} 
{{/if}} 

'/ workflow_editor /新'

<div {{ action 'renderIsAppCompleteTemplate' on="focusIn" }} class="fees-container collapsible"> 
    <div class="arrow-nav collapsibleHeader fees-edit-selection"> 
    <h2>Permit Fees 
     <h4 class="inline-block"> ((#)) of Calculations</h4> 
    </h2> 
    <img src="images/menu.png" class="menu-icon" id="m1"> 
    </div> 
</div> 

在 'workflow_editor_controller.js'

VpcYeoman.WorkflowEditorController = Ember.ObjectController.extend({ 
    renderisAppCompleteTemplate: function() { 
    */ nothing yet */ 
}) 

隨時提出替代或更有效的方法來解決這個問題。

編輯:我已經做了類似的通過基於當前呈現側欄模板。這是代碼,如果它激發任何靈感。

對於控制器

showRecordBasedOnRoute: function(){ 
    var curPath =this.get('currentPath'); 
    if(curPath == 'application'){ 
     return false; 
    } else if (curPath == 'record'){ 
    return true; 
    } //other things 
    }.property('currentPath'), 

& &

 {{#if showRecordBasedOnRoute}} 
     {{render 'record-sidebar'}} 
     {{/if}} 

回答

1

不幸的是,你只能在一次一個活動路線。我有同樣的問題。有一個實驗版本可以讓你使用具有獨立路由的子路由器,但不值得麻煩。

你目前的工作正常。但是,您需要在動作對象中定義動作。

VpcYeoman.WorkflowEditorController = Ember.ObjectController.extend({ 
    actions: { 
    renderisAppCompleteTemplate: function() { 
     */ nothing yet */ 
    } 
    } 
}) 
+0

謝謝,但定義行動是我遇到的麻煩。我不想改變路線,{{render}}在我使用它之前還沒有做到這一點。我想使用on =「focusIn」來創建一個關注活動的頭文件,因此在控制器中定義一個動作看起來有些乏味,因爲我已經創建了一個{{if}}語句來使用{{render'template .hbs'並聲明標題必須是focusIn才能使該{{if}}語句正確。我使用了一個類似的方法來根據當前路徑有條件地呈現模板,我將在問題中進行更新。 –

+0

無論哪種方式工作。您可以更改路線或控制器支柱。 –

+0

我同意,但這並不能解決我的問題。 –