我有一个我无法理解的问题,也许有些问题可以启发我“为什么”。
我从后端检索用户,假设它看起来像这样:
$scope.user { id:1, status:{ id:1, label:test } }
我从后端检索所有状态的列表
$scope.statusList = [{ id:1, label:test }, { id:2, label:toro }]
我想显示一个选择输入,包含状态列表并预选用户状态
在我的模板上,我有以下内容:
<select ng-model="userStatus" ng-options="status.label for status in statusList"></select>
在我的控制器中,我尝试了以下操作
案例一:预选工作
function findObject(listObject, Object){
for(var i in listObject){
if(listObject[i] == Object) {return listObject[i]};
}
return listObject[0];
}
$scope.userStatus = findObject($scope.statusList, $scope.user.status);
案例2:不工作
$scope.userStatus = $scope.user.status
案例3:不工作
$scope.userStatus = {id:2,label:toro}
案例4:不工作
在我的模板上,我直接放了以下
<select ng-model="user.status" ng-options="status.label for status in statusList"></select>
为什么case 2和case 3不会预选选择框???更重要的是,case4 对于编辑用户而不在新变量中复制所有内容非常有用,那么为什么它不起作用呢?