Angularjs 角度材质:为什么md select与ng模型选项一起使用时会触发ng更改?

Angularjs 角度材质:为什么md select与ng模型选项一起使用时会触发ng更改?,angularjs,angular-material,Angularjs,Angular Material,我有一个用例,在这个用例中,我需要使用md选择并提供来自阵列的选项。选定的值将保存并从数据库中获取。在这种情况下,数据库没有存储任何值,它将返回null 现在,如果数据库中的值为空,我需要设置数组的第四个值(即默认值)。因此,我有以下逻辑: $scope.MR= $scope.data.MR !== null ? $scope.data.MR : $scope.MRList[3]; 我的模板是: <md-input-container class="flex flex-sm-100

我有一个用例,在这个用例中,我需要使用md选择并提供来自阵列的选项。选定的值将保存并从数据库中获取。在这种情况下,数据库没有存储任何值,它将返回null

现在,如果数据库中的值为空,我需要设置数组的第四个值(即默认值)。因此,我有以下逻辑:

$scope.MR=  $scope.data.MR !== null  ? $scope.data.MR : $scope.MRList[3];
我的模板是:

<md-input-container class="flex flex-sm-100 TS_action_dropdown md-input-has-value">
                <md-select ng-model="MR" ng-change="updateManualRating(target, MR)" class="new_delta_select" ng-model-options="{trackBy: '$value.name'}">
                    <md-option ng-value="t" ng-repeat="t in MRList track by $index">{{t.name}}</md-option>
                </md-select>
            </md-input-container>

{{t.name}}
根据Angular docs,我们需要使用ng模型选项来设置预定义值,该值与选项列表匹配。我也做了同样的事情,但是,在整个实现之后,我的ng change函数(写在md select的change上)会在页面加载时自动触发

根据Angular docs,用户手动更改时会显式触发此操作。我也相信这就是它的工作原理。但我很困惑,为什么会这样。角度材质是否与$viewController一起使用并触发类似效果

或者这是一个bug或已知问题。如果是,如何避免或解决