【发布时间】:2014-04-10 16:06:54
【问题描述】:
当我更新我的 promise.then 中的 ng-model 参数时,我遇到了未调用 select 中的 ng-change 的问题。我的选择是:
<select ng-model="currentReport"
ng-options="rpt.ReportDisp for rpt in availableReports"
ng-change="updateDependent()"></select>
availableReports 是这些对象的数组,由我的服务中的 $http 调用检索。当通话结束时,我想确保选择第一个条目并执行代码:
webServices.getReports(user, menu1, menu2)
.then(function (result) {
$scope.availableReports = result.data.d;
$scope.currentReport = $scope.availableReports[0];
}
这会将选择设置为第一个报告,但 ng-change 不会调用函数 updateDependent()。
另外,我尝试在 .then 中添加对 updateDependent() 函数的调用,如下所示。但是当函数被调用时 $scope.currentReport 是未定义的。
webServices.getReports(user, menu1, menu2)
.then(function (result) {
$scope.availableReports = result.data.d;
$scope.currentReport = $scope.availableReports[0];
updateDependent();
}
有人知道怎么回事吗?
找到问题了,我
函数更新 updateDependent 被声明为 $scope.updateDependent()。所以我需要将http关联的.then中的引用更改为$scope.updateDependent()。
【问题讨论】:
标签: javascript angularjs promise