
70
|
第四章
search: function(){
alert("Searching: " + this.searchInput.val());
return false;
},
});
new SearchView({el: "#users"});
});
狀態機(State Machines)
狀態機—較專業的術語應該是
有限狀態機
(
Finite State Machines
,
簡稱
FSMs
)—是一
種開發 UI 的絕佳做法。只要善用狀態機,就能讓管理多組控制器、視情況需要顯示或
隱藏檢視器…等工作變得很容易。那麼,究竟狀態機是什麼意思?基本上,狀態機是由
兩項元素組成:狀態(state)和轉換函式(transition)。啟用的狀態永遠只會有一個,
停用的狀態則會有很多個。當我們將某個狀態設為停用,把另一個狀態設為啟用時,就
會觸發介於兩種狀態之間的轉換函式。
那我們該如何在實務上運用這樣的概念?假如你的應用程式裡有兩個需要獨立呈現的檢
視器(例如:顯示資料,和編輯資料的檢視器),而且這兩個檢視器永遠無法同時並存
時(當其中一個呈現顯示狀態,另一個就一定要被隱藏),就非常適合使用狀態機,因
為狀態機能確保同一時間內一定只會有一個啟用的狀態。而且如果日後想要新增其他的
檢視器(像是用來進行設定的檢視器),透過狀態機來處理也會非常的容易。
讓我們再舉個實際的範例,好讓你對狀態機的實作方式有更清楚的概念。雖然接下來這
段範例程式非常簡單,而且沒有用到不同的轉換類型,但已足以滿足我們的需求。首先
建立一組 ...