5. Ember.js學(xué)習(xí)- 模板

改變URL可以使得模板在屏幕上展示的內(nèi)容發(fā)生變化

在ember.js中,模板從controller中獲取信息

兩個(gè)內(nèi)建的controller(Ember.ObjectController和Ember.ArrayController)使得controller展示模板屬性變得容易。

為了告訴controller去展示哪一個(gè)model,需要在route中得setupController方法中設(shè)置model屬性

屏幕快照 2015-04-18 下午9.37.41.png

setupController方法將route handler關(guān)聯(lián)的controller作為其第一個(gè)參數(shù),在次情況下,PostRoute的setupController方法接收到的是應(yīng)用程序的實(shí)例App.PostController。

指定一個(gè)controller而不是使用Ember默認(rèn)生成的,可以設(shè)置route的controllerName屬性。

setupController方法的第二個(gè)參數(shù)是route操作的model。

默認(rèn)的setupController方法將route handler的model設(shè)置為關(guān)聯(lián)controller的model屬性。

如果你要配置一個(gè)controller而不是route handler關(guān)聯(lián)的controller,使用controllerFor方法:

屏幕快照 2015-04-18 下午9.54.14.png

RENDERING A TEMPLATE

路由的一個(gè)重要的工作就是將正確的模板渲染到屏幕上,默認(rèn)情況下,route handler會(huì)將模板渲染到最近的父模板中。

屏幕快照 2015-04-18 下午10.05.28.png

如果你想要渲染一個(gè)并非route handler關(guān)聯(lián)的模板,那么需要實(shí)現(xiàn)renderTemplate方法:

屏幕快照 2015-04-18 下午10.08.03.png

如果你想要使用一個(gè)不同的controller,而不是route handler默認(rèn)的controller,將controller的名字傳遞給controller選項(xiàng)。

屏幕快照 2015-04-18 下午10.10.32.png

Ember允許你給outlet取名字,下面的代碼允許你為兩個(gè)outlet指定不同的名字:

屏幕快照 2015-04-18 下午10.12.18.png

因此,如果你要將posts渲染到sidebar outlet中,應(yīng)該使用下面的代碼:

屏幕快照 2015-04-18 下午10.13.34.png

上面提到的所有選項(xiàng)可以放在一起使用:

屏幕快照 2015-04-18 下午10.14.23.png

如果你要將兩個(gè)不同的模板渲染到兩個(gè)不同的模板中,代碼應(yīng)該是下面這樣:

屏幕快照 2015-04-18 下午10.16.14.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 命名約定 我們?cè)谑褂肊mber.js創(chuàng)建routes,controllers和templates時(shí),要遵循Embe...
    江楓閱讀 862評(píng)論 0 1
  • THE APPLICATION TEMPLATE application模板是程序的默認(rèn)模板,會(huì)在應(yīng)用啟東市被渲染...
    江楓閱讀 964評(píng)論 0 1
  • 22年12月更新:個(gè)人網(wǎng)站關(guān)停,如果仍舊對(duì)舊教程有興趣參考 Github 的markdown內(nèi)容[https://...
    tangyefei閱讀 35,401評(píng)論 22 257
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評(píng)論 19 139
  • AngularJS是什么?AngularJs(后面就簡(jiǎn)稱ng了)是一個(gè)用于設(shè)計(jì)動(dòng)態(tài)web應(yīng)用的結(jié)構(gòu)框架。首先,它是...
    200813閱讀 1,779評(píng)論 0 3

友情鏈接更多精彩內(nèi)容