ngOptions - 值未定义

时间:2015-02-17 16:55:03

标签: javascript angularjs

我正在使用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>

这样可行但是当我创建一个按钮来获取当前所选的select值时,它返回undefined:alert($scope.size);

我已经重复了问题 here. 同样只是为了咯咯笑,我在另一个CodePen中重新创建了同样的东西(?) here.

第二个按照我想要的方式工作但不是第一个。我做了两个,但我无法弄清楚为什么第二个工作,第一个工作。

1 个答案:

答案 0 :(得分:2)

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