[心得] ember.js
Ember.js 是ruby bundler之父Yehuda Katz創造的前端MVC framework
雖然開發時程很長,但它在國外開發社群中引起了很多注目
2013年初它邁向stable release,稍微研究後覺得還蠻有意思的
正文開始
========
在跳到程式碼之前,我覺得先說明概念比較容易理解EmberJS
Route
-----
Ember的核心概念是使用url來代表state
每個頁面都有自己的一個url,例如
/posts
/posts/1
/posts/new
/posts/edit
負責管理url的class,不意外的就route
route可粗分為兩種,一種是route, 一種是resource
route可以是任意的url,但一般來說會是指動詞或形容詞
例如new, edit
resource則是名詞,在上述例子中/posts就是一個名詞
/posts/1也是一個名詞(一篇文章),因此在Ember的API中會使用resource來呼叫
Controller & Contents
---------------------
一個網頁頁面中不僅僅只有url是動態的,其內容也可能是動態的
例如一篇post裡面會有comments
但你通常不會用特別的url來連結comments,對吧?
在一篇post當中所有的元件,都可以用controller, view, template來呈現
EmberJS的controller跟一般後端的controller不一樣
後端的controller通常用來呈現一個URL,一個頁面
但EmberJS的頁面中可以有數個controller,這比較接近GUI的MVC設計
每個controller專司頁面中的一塊區域
例如post當中會有一個comments的controller用來處理多個comment
這些controller除了處理頁面呈現外,還可以處理事件
例如一個呈現數個按鈕的controller,就是接受並處理事件的controller
不僅僅如此,它們還可以用來bind data
也就是說當有其他事件更動了controller負責的model時
controller會自動更新頁面上相關的區域
這就是EmberJS強大的地方
* * *
以上這些概念是我覺得一開始讀EmberJS教學時最難懂的地方
了解這些後再看EmberJS就容易許多
如果有人有興趣的話,我之後可以來寫一些中文的範例教學
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 207.151.231.173
推
04/21 10:51, , 1F
04/21 10:51, 1F
推
04/21 13:09, , 2F
04/21 13:09, 2F
→
04/22 02:47, , 3F
04/22 02:47, 3F
→
04/22 07:25, , 4F
04/22 07:25, 4F
→
04/22 09:21, , 5F
04/22 09:21, 5F
推
04/22 13:28, , 6F
04/22 13:28, 6F
推
04/23 03:18, , 7F
04/23 03:18, 7F
→
04/23 03:37, , 8F
04/23 03:37, 8F
推
04/23 16:17, , 9F
04/23 16:17, 9F
推
04/26 22:48, , 10F
04/26 22:48, 10F
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章