【问题标题】:Angular JS: Binding using ng-model with an ng-repeat on a select elementAngular JS:在选择元素上使用 ng-model 和 ng-repeat 进行绑定
【发布时间】:2016-09-13 21:56:31
【问题描述】:

所以,我有以下工作代码:

角度:

$scope.audit = {user: ''};

HTML:

<md-select ng-model="audit.user"">
    <md-option ng-repeat="u in users" value="{{u.username}}">
        {{u.username}}
    </md-option>
</md-select>

但是,之前我尝试如下绑定。

角度:

$scope.auditUser = '';

HTML:

<md-select ng-model="auditUser">
    ..
</md-select>

我在网上阅读了一些关于不绑定到 ng-repeat 中的原语的信息,但没有任何结论。所以我想知道为什么后一种解决方案不起作用,为什么在使用 ng-repeat 时我们必须将模型绑定到对象,这是否与 $scope 和 $digest 循环有关(我不知道很详细)?

谢谢

【问题讨论】:

  • 你可以试试ng-options
  • 只是想知道 - ng-value="u.username" 可能会更好。

标签: javascript angularjs angularjs-ng-repeat angular-ngmodel


【解决方案1】:

Angular 为 ng-repeat 指令中的每个对象创建一个新范围。如果该对象实际上是一个原始对象,则它是按值而不是按引用传递的。因此,在该子范围内所做的任何更改都不会传播回父范围内的原始对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-09
    • 2017-08-29
    • 2015-10-18
    • 1970-01-01
    • 2014-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多