項目的 Demo 在 http://juy.fm 。
接下來的幾節(jié)會實現(xiàn)樂輯詳細頁的 sidebar 的結(jié)構(gòu)涌庭、設(shè)計以及交互。先講一下目前的需求:tabs 中有「返回列表(即聚合頁)」、「使用指南」秉版、「私人設(shè)置」和「我有話要說(即反饋)」四個選項。設(shè)計到的代碼實現(xiàn)分別是:點擊「返回列表」動畫縮起 tabs茬祷,然后跳轉(zhuǎn)到首頁(easy)清焕;點擊「使用指南」是一些文字介紹,在右側(cè)覆蓋樂輯顯示(easy)祭犯;點擊「私人設(shè)置」可以在右側(cè)模態(tài)做一些個性化設(shè)置秸妥,通過 localStorage 存儲;點擊「我有話要說」可以反饋或投稿沃粗,會用到 Meteor Collection 的 allow/deny 功能粥惧,直接通過客戶端寫入數(shù)據(jù)庫。
在編寫 sidebar 的結(jié)構(gòu)時最盅,我有意把結(jié)構(gòu)和數(shù)據(jù)分離突雪,并且把這類數(shù)據(jù)都統(tǒng)一放在一個 data.js 中,然后再通過上節(jié)提到的「模塊依賴」的方式把值傳給相應(yīng)的 Template涡贱。同時也有一個疑問:{{#each tabs}} 包含的結(jié)構(gòu)塊有什么辦法可以復用呢咏删?
下一節(jié)將介紹點擊 tab 動態(tài)加載 Template 并渲染的過程。
Github 地址:sidebar 結(jié)構(gòu)