Angularjs 对象{$$hashKey:“00S”是什么意思

Angularjs 对象{$$hashKey:“00S”是什么意思,angularjs,select,Angularjs,Select,我一直在使用一个选择选项框。我可以让它独立工作并正确打印所选选项,但在我的应用程序中它就是不工作 <select ng-model="selected1" ng-change="operateOnOptions()"> <option value='1'>TOPPER</option> <option value='2'>

我一直在使用一个选择选项框。我可以让它独立工作并正确打印所选选项,但在我的应用程序中它就是不工作

<select ng-model="selected1" ng-change="operateOnOptions()">
                                <option value='1'>TOPPER</option>
                                <option value='2'>RSC</option>
                                <option value='3'>SPD</option>
                                <option value='4'>SFT</option>
                                <option value='5'>LMP</option>
                            </select>
现在,在我的应用程序中,无论发生什么,这都将不起作用,并继续打印

对象{$$hashKey:“00S”} 这个奇怪的东西是什么意思???

对象{$$hashKey:“00S”}
给定您的
控制台.log($scope.selected1)
语句,意味着
$scope.selected1
值当前是一个对象,这个对象有一个
$$hashKey
属性,值为
00S
。Angular通常分配一个
$$hashKey
属性来跟踪某些内容,$$表示这是Angular内部私有属性

现在,这与您的问题有何关系,我怀疑您在代码中的某个地方将
$scope.selected1
的值设置为一个不是给定选择选项值之一的值


如果您没有看到更多的代码,或者甚至没有更好的代码,那么这里就没有更多的内容可以提供给您了。

我建议您看看Angular的select with ngOptions。你能用一个简单的例子进行复制吗?谢谢,当我隔离了上面提供的代码时,它就可以工作了,完全可以工作了。我的申请表太大了,不能放在小提琴上,我也不能合法地做。非常感谢您的回答。我正在使用$scope.selected1={}初始化控制器中的变量;不知道这是否是一个问题是的,您的初始化将selected1设置为空对象,这就是您看到该日志的原因。selected1的值应与您的选择选项值之一匹配。要么将其设置为null,要么将其设置为一个select选项值,例如,我尝试将其设置为{}和null,它在一个独立的项目中工作,但在我的一生中,我无法让它获取所选选项值并将其传递给控制器。下面是我创建的独立项目的plunker,它运行良好
$scope.operateOnOptions = function(){
console.log($scope.selected1);
};