Angularjs 他选择了奇怪的行为
我有一个我很难理解的问题,也许有些人可以启发我“为什么”Angularjs 他选择了奇怪的行为,angularjs,Angularjs,我有一个我很难理解的问题,也许有些人可以启发我“为什么” 我从后端检索一个用户,假设它看起来是这样的: $scope.user { id:1, 地位:{ id:1, 标签:测试 } } 我从后端检索所有状态的列表 $scope.statusList= [{ id:1, 标签:测试 }, { id:2, 标签:toro }] 我想显示一个select输入,其中包含状态列表和预选的用户状态 在我的模板上,我有以下内容: <select ng-model="userStatus" ng-opti
<select ng-model="userStatus" ng-options="status.label for status in statusList"></select>
案例2:不工作
$scope.userStatus = $scope.user.status
$scope.userStatus = {id:2,label:toro}
案例3:不工作
$scope.userStatus = $scope.user.status
$scope.userStatus = {id:2,label:toro}
案例4:不工作
$scope.userStatus = $scope.user.status
$scope.userStatus = {id:2,label:toro}
在我的模板上,我直接放置了以下内容
<select ng-model="user.status" ng-options="status.label for status in statusList"></select>
为什么案例2和案例3不会预选选择框???
更重要的是,案例4对于编辑用户而不复制新变量中的所有内容非常有用,那么为什么它不起作用呢?因为angular使用
==
(但是==
会有相同的效果)而不是angular.equals()
来比较每个选项与预选选项。因为您有两个不同的对象,所以即使对象具有相同的键和值,比较也会返回false
网上的几条评论都在谈论你面临的问题。那么人们通常是怎么做的呢?它们带有一个中间值,比如案例1?我想是的。我还没见过很多棱角的用法。我自己刚开始使用它。很多时候,您可能只是在用户中拥有状态的ID。好的:'(.Quoiqu'il en soit,merci de votre aide)