本版本最大的改進是將視圖的操作全鄣變成異步。詳情如下:
- 管道符與短路與相混淆的BUG
- 重構on綁定,省得每次都重復綁定同一個事件回調。雖然addEventListener或attachEvent會忽略它,但這會造成不必要的計算。
- 如果一個函數內對VM的某一個屬性重復賦值,視圖更視不及時會出現BUG。這是源於純JS操作與DOM操作需要的時間量級不一樣,一次DOM操作花的時間是純JS操作的上千倍甚至上萬倍。如果多個DOM操作疊加在一起,瀏覽器可能忙碌不過來,因此改成異步。
本版本嚴重感謝網友@soom提交的測試文件,要不就不會發現這三個問題。
迷你MVVM框架在github的倉庫https://github.com/RubyLouvre/avalon