我正在使用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.
第二个按照我想要的方式工作但不是第一个。我做了两个,但我无法弄清楚为什么第二个工作,第一个工作。
答案 0 :(得分:2)
这是角度的经典问题。这是因为您正在使用ng-if创建子范围。您需要将模型设置为someObject.size并更改对它的所有引用。 然后在控制器中放入$ scope.someObject = {};