當用戶點擊並定位主體中的標題時,我想在名爲'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}}
謝謝,但定義行動是我遇到的麻煩。我不想改變路線,{{render}}在我使用它之前還沒有做到這一點。我想使用on =「focusIn」來創建一個關注活動的頭文件,因此在控制器中定義一個動作看起來有些乏味,因爲我已經創建了一個{{if}}語句來使用{{render'template .hbs'並聲明標題必須是focusIn才能使該{{if}}語句正確。我使用了一個類似的方法來根據當前路徑有條件地呈現模板,我將在問題中進行更新。 –
無論哪種方式工作。您可以更改路線或控制器支柱。 –
我同意,但這並不能解決我的問題。 –