最近在項目中引入了Vue.js,並非爲了MVVM的概念有多火爆,實在是看着一大堆DOM和POJO之間互相取值賦值的代碼太繁瑣,而Handlebar有太難用(尤爲是沒有文檔)。html
Vue作得確實漂亮,API易讀,官方文檔也清楚。引入之後,頁面代碼量驟降,可讀性還提升很多,真是前端工程師居家旅行必備工具。 前端
不過百密一疏,官方文檔仍是有照顧不到的地方,讓初學者容易踩坑:vue
- v-model 綁定是雙向的,一旦表單控件設置了v-model, 就不用再設置其餘屬性的佔位符了
- v-for = "item in itmes" 這個表達式裏面, item是隨便起的名字, 至關於給items這個集合屬性的子元素起個代號
- 對於select元素, 能夠直接用v-model綁定用戶選中的option的值, 裏面的option一般應該用v-for綁定一個集合屬性(可選項和被選項一般不會在同一個業務對象裏, 我這裏的作法是給業務對象一個臨時屬性來存可選項, 提交的時候再把這個屬性去了, 還沒摸索出最佳實踐)
- 數據對象若是一開始是空的, 那麼代碼裏添加的屬性是不能動態綁定的, 須要用Vue.set來設置。固然更推薦初始化的時候就添加一個空屬性。這段描述官方文檔裏有, 只是藏得有點深:http://vuejs.org.cn/guide/reactivity.html