没有 ng-model AngularJS 选择不起作用
Posted
技术标签:
【中文标题】没有 ng-model AngularJS 选择不起作用【英文标题】:AngularJS select doesn't work without ng-model 【发布时间】:2013-05-14 17:24:15 【问题描述】:有谁知道为什么在 AngularJS 中,select
选择器在没有 ng-model
的情况下无法工作?
<select ng-model="bla_bla" ng-options="obj.value as obj.key for obj in languages"/>
<select ng-options="obj.value as obj.key for obj in languages"/>
上面的第一行代码可以工作,而第二行代码不能工作。 为什么???
谢谢!
【问题讨论】:
【参考方案1】:在 Angular 应用程序中使用 select
标记会生成 ng-select
指令,这是一个 html SELECT
元素加上 Angular 数据绑定。查看这个select
指令的Angular 源代码,这里是它的link
方法的前几行:
link: function(scope, element, attr, ctrls)
// if ngModel is not defined, we don't need to do anything
if (!ctrls[1]) return;
...
所以如果ngModel
没有定义,它实际上是内置到框架中来中止链接directive
,所以没有绑定发生。
【讨论】:
@VishalKumarSahu - 你可以为ng-model
提供一个虚拟变量。
将保存数据
@VishalKumarSahu 显然。但是您不必使用数据,这就是为什么它是一个“虚拟”变量。如果您不清楚,您应该提出一个新问题。以上是关于没有 ng-model AngularJS 选择不起作用的主要内容,如果未能解决你的问题,请参考以下文章
使用 ng-model 时 AngularJS $scope 不更新(ng-change 触发?)
AngularJS 将 datatimepicker 选择的值绑定到 ng-model
ng-model 不适用于 AngularJS 中的单选按钮