AngularJS - 模型在异步调用后未更新
AngularJS - Model not updating following async call
我想知道是否有人可以帮助我?我对角度仍然很陌生,并且有一个问题,即我的选择控件最初没有选择正确的值,而是更新后续更改。
我的HTML如下:
<select class="form-control" ng-model="job.SalutationId" ng-init="job.SalutationId=0">
<option value="0">Salutation</option>
<option ng-repeat="salutation in lookups.salutations" value="{{salutation.Id}}">{{salutation.Name}}</option>
</select>
我正在通过 WebApi 加载一个对象,该对象目前表示作业和查找值 - 这目前不在服务中,因为它目前的所有测试,但 js 看起来像:
function loadJob() {
$http({ method: 'GET', url: url + 'jobs/2' }).
then(function (response) {
$scope.lookups.salutations = response.data.Salutations;
$scope.job = response.data.Job;
}, function (response) {
displayJobErrorMessage(response.data || "Request failed");
});
}
HTML 控件填充了查找中的值,job.SalutationId
设置为 1(我通过将值输出到另一个控件来验证这一点),但是在我更改另一个控件中的模型值之前,它不会自动选择 MR。
我想发生的是它会自动选择 MR,因为这是作业本身的值。
谁能发现我哪里出错了?我还尝试使用$scope.$apply
手动更新范围,以查看它是否有影响,但无济于事。
提前谢谢。
卡尔
真的有点小学生的错误。
AngularJS在javascript中使用===运算符来检查值和类型,并且由于选择控件是基于字符串的,它不喜欢我的范围使用整数值。
为了解决这个问题,我只需将查找 ID 转换为作用域上的字符串值即可。
这应该不会在 API 端引起问题,因为它会自动将字符串解析为整数。
相关文章:
- 如何在视图模型contet更新更新上调用Jquery函数
- Es6:能够在设置/更新/删除对象属性时调用自定义方法
- AngularJS:调用函数时编号不更新
- 使用Ajax调用在服务器上实时更新页面
- 主干:视图's的呈现方法被调用,但DOM未更新
- 如何在更新面板内部调用/触发javascript函数<触发器>标签
- 从Document调用onchange函数.已准备好从更新中预先选择的项目
- 在Knockout中进行ajax调用后,ViewModel不会更新
- 由控制器调用的服务更改时,Angular未更新视图
- 如何在从下拉列表中选择不同的值后更新和调用javascript函数
- 在分析云代码中调用更新
- AngularJs在调用服务方法后更新指令
- 当视图在AngularJS中返回时,我如何获得异步服务调用来更新视图
- 如何在自动完成更新时调用JS函数
- Angular js - 异步调用 $scope.users 后不更新模态值
- 如果我不应该在组件WillUpdate中调用setState,如何更新状态(使用ReactJS)
- 为什么'这些AJAX调用正在更新我的变量
- 从$http.get调用更新Angular作用域变量
- JSF在Ajax更新后调用javascript函数
- 被调用函数中的数组push如何更新调用函数中的数组,调用函数将数组传递给javascript中的函数