Angular JS:使用ng-model绑定选择元素上的ng-repeat

时间:2016-09-13 12:50:08

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

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

角:

$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循环有关(我不知道在哪个循环中)很多细节)?

由于

1 个答案:

答案 0 :(得分:1)

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