Category: AngularJS

網友kcw問了一個好問題,提到計算型屬性函數出現會重覆執行兩次的現象! 一句話點醒我夢中人,嚇得我屁滾尿流失了魂~~~ 花了點時間研究,才發現原來我學藝不精,一直沒搞通Angular的屬性相依運作原理,時常誤用KO概念思考。謝謝kcw的問題,讓我釐清一塊暗藏地雷的危險地帶。(註: 相依性追...

復刻對象: KO範例3 - 動態新增下拉選單選項。 先示範一個失敗寫法。在KO範例裡,新增選項按鈕不包含在ViewModel範圍內,而是透過jQuery click事件在選項集合新增物件,而選項集合是ko.observabelArray(),KO能感測到新增動作,同步增加下拉選單選項;但同樣做...

復刻對象: KO範例2 - 下拉選單。 在NG,下拉選單(<select>)跟<input>一樣用ng-model="..."建立雙向繫結,如要透過繫結動態產生選項,可用ng-options Directive。ng-options的語法較特別,需...

自動測試是AngularJS架構的重要一環,官方文件有專章討論單元測試,程式庫則有ngMock提供單元測試所時的DI及Mocking(假物件模擬)支援。本篇將討論如何在Visual Studio 2013對Controller及ViewModel進行單元測試。 開始之前,Visual Stud...

用Angular維護的SPA專案重頭戲都在前端,為避免JavaScript愈寫愈亂,失控長成哥吉拉的災難上演,決心在專案改用TypeScript,期望靠著強型別編譯檢查保平安。這裡就以上一篇文章的簡單NG程式為例,示範如何用Visual Studio 2013 Update 2 + TypeScr...

MVVM是前端Framework的重要功能,AngularJS當然也有強大好用的資料繫結及模板(Template)機制,才能橫掃江湖。我們就從最簡單的"計算型屬性"開始,順便介紹Angular程式的基本架構。 (註: AngularJS採取的應該是MVC設計模式,但依我的理解,資料繫結、模板...

學習AngularJS一段時間,初步心得是"很強大但不好駕御",跟學習Knockout的經驗相比,差異程度大概像這樣: 照片來源: Jace 美國空軍 感受懸殊,關鍵在於應用心態不同。Knockout著眼於MVVM,以Binding為核心;但Binding卻只是Angular...

照片出處: http://www.geograph.org.uk/photo/360000 作者: Barbara Voules 兩年前初見Knockout.js後便一腳踏入MVVM世界無法回頭。學習簡單很快上手,用Knockout做出錯誤少又容易擴充維護的AJAX網頁。在此之前,為了讓欄...