如果没有ng-model,角度选择不起作用

时间:2013-05-20 07:33:54

标签: select angularjs ng-options

有没有人知道为什么在Angular中,如果没有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 个答案:

答案 0 :(得分:13)

在Angular应用中使用select标记会生成ng-select指令,该指令是HTML SELECT元素以及角度数据绑定。查看此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;
    ...

因此,如果未定义directive,它实际上已构建到框架中以中止链接ngModel,因此不会发生绑定。