ngOptions-未定义值

ngOptions - Value Is Undefined

本文关键字:未定义 ngOptions-      更新时间:2023-12-10

我使用AngularJS,生成了一个具有size属性的对象,该属性包含一个对象数组。

var product = [
  // ..
  sizes: [
    {choice: 'one', order: 1},
    {choice: 'two', order: 2},
    {choice: 'three', order: 3}
  ]
  //..
];

在视图侧,我生成选择框,如:

<select ng-init="size = product.sizes[0]" ng-options="size.choice for size in product.sizes" ng-model="size"></select>

这是有效的,但当我创建一个按钮来获得选择的当前选定值时,它返回未定义的:alert($scope.size);

我在这里重复了这个问题也只是为了咯咯笑,我在另一个CodePen中重新创建了相同的东西(?)

第二个按我想要的方式工作,但不是第一个。我两者都做了,但我不明白为什么第二个有效,第一个有效。

这是angular中的一个经典问题。这是因为您使用的是ng if,它正在创建一个子作用域。您需要将模型设置为someObject.size,并更改对它的所有引用。然后在控制器中放入$scope.someObject={};