【问题标题】:AngularJS select doesn't work without ng-model没有 ng-model AngularJS 选择不起作用
【发布时间】: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"/>

上面的第一行代码可以工作,而第二行代码不能工作。 为什么???

谢谢!

【问题讨论】:

    标签: javascript html angularjs select ng-options


    【解决方案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 显然。但是您不必使用数据,这就是为什么它是一个“虚拟”变量。如果您不清楚,您应该提出一个新问题。
    猜你喜欢
    • 2019-04-20
    • 2018-08-29
    • 2017-04-29
    • 2016-05-02
    • 2018-04-20
    • 2019-08-06
    • 1970-01-01
    • 2023-03-18
    相关资源
    最近更新 更多