UI bootstrap使用按钮和无序列表演示选择下拉列表。这很好,花花公子,但是,我试图获得与HTML中的选择标记相同的功能。功能包括选择一个选项和更改模型的值然后触发ng-change功能。
我认为当连接到输入的ngModel发生更改时会触发ngChange事件,但事实并非如此。我已经为我的问题附加了一个plunker,它演示了选择更改user.group
ng-model
的列表项,该列表项应该调用ng-change="alert('blah')"
,但它不会。我是否错过了使用ngChange的某种语义?
答案 0 :(得分:3)
正如官方文档所说的关于ngChange
指令:
当用户更改输入
时评估给定的表达式
https://docs.angularjs.org/api/ng/directive/ngChange
因此该指令与模型更改无关,它处理用户与表单元素的交互。
更多来自angular docs:
不会评估:
- 如果$ parsers转换管道返回的值未更改
- 如果输入继续无效,因为模型将保持为空
- 如果以编程方式更改模型,而不是通过更改输入值
答案 1 :(得分:2)
我看到你在按钮标签上使用ng-model指令。这不会起作用,因为你只能在html表单输入元素上使用ng-model。您的按钮不是输入类型。检查angularjs docs:https://docs.angularjs.org/api/ng/directive/ngModel
ngModel指令绑定输入,选择, textarea (或自定义表单) 使用NgModelController对范围内的属性进行控制 由该指令创建和公开。