我正在为下拉菜单分配一系列'类型'。当用户在下拉列表中选择一个值时,我将其保存为cookie。
我正在更新ng-model的代码:
$scope.typeItem = $cookieStore.get('typeItem');
这是下拉本身:
<select class="transmission-option-width" ng-model="typeItem"
ng-options="t as t.Type for t in transmissionTypes" ng-change="update()"></select>
我设置了一个断点,$ scope.typeItem有一个值,但是没有设置select。知道我在这里做错了吗?
答案 0 :(得分:1)
您从Cookie商店回来的对象......
$scope.typeItem = $cookieStore.get('typeItem');
虽然它可能与$scope.transmissionTypes
中的某个项目具有相同的属性,但它实际上是一个完全不同的对象。由于angular通过引用进行比较,因此无法在$scope.transmissionTypes
中找到匹配的对象,并且未设置下拉列表。
答案 1 :(得分:0)
是t。键入数值吗?这可能会阻止角度将选定值视为等于选项值。
从$ cookieStore获取$ scope.typeItem后,可能最容易将$ scope.typeItem转换为数值。
答案 2 :(得分:0)
我认为你把这部分文档搞糊涂了
注意:ngModel按引用进行比较,而不是值。绑定到对象数组时这很重要。请参阅此jsfiddle中的示例。
尝试遍历您的数组并将具有相同值的数组中的元素分配给模型变量