2014-10-06 105 views
0

UI引導使用按鈕和無序列表演示了選擇下拉菜單。這一切都很好,但是,我試圖在HTML中獲得與選擇標記相同的功能。像選擇一個選項和改變模型的值然後觸發一個ng-change函數的功能。在ngModel更改時未觸發ngChange

我認爲ngChange事件在連接到輸入的ngModel發生變化時觸發,但事實並非如此。我附上了一個與我的問題,一個plunker,它演示了更改user.groupng-model,應該調用ng-change="alert('blah')"列表項的選擇,但它沒有。我是否缺少ngChange的某種語義?

http://plnkr.co/edit/oZo7xGEVKvB0ntwiNFMp?p=info

回答

2

我看到你正在使用的按鈕標籤NG-模型指令。這是行不通的,因爲你只能在html表單輸入元素上使用ng-model。您的按鈕不是輸入類型。檢查angularjs文檔:https://docs.angularjs.org/api/ng/directive/ngModel

的ngModel指令結合的輸入選擇textarea的(或定製的形式 控制)使用NgModelController,這是 創建並通過暴露於所述範圍的性質這個指令。

+0

我閱讀了文檔,並且必須對其進行監督。看起來像一個$手錶是爲了。感謝您的快速響應 – britztopher 2014-10-06 19:42:00

+0

$手錶確實會爲您做到! – Angad 2014-10-06 19:43:07

3

官方文檔說,大約ngChange指令:

評估定表達式當用戶改變輸入

https://docs.angularjs.org/api/ng/directive/ngChange

所以指令有沒有與模式的轉變,它處理用戶與表單元素的交互。

更多來自角文檔:

它不會進行評估:

  • 如果從$解析器轉換管道返回的值並沒有改變
  • 如果輸入繼續無效,因爲模型將保持爲空
  • 如果模型以編程方式更改而不是通過更改輸入值