我使用AngularJS和UI路由器。我是一个父母国家&一个孩子。父状态包含一个初始化为null
的变量。在子女状态下,我显示了如下的下拉列表
<select name="" ng-model='$parent.fruit' ng-options="fruit as fruit.name for fruit in fruit_list">
<option value="" selected="selected">Select a fruit</option>
</select>
$parent.fruit
返回null
。
答案 0 :(得分:0)
我强烈建议你命名你的父控制器。您可以在定义控制器时执行此操作,如
<div ng-controller="parentController as pc">
然后在您的代码中,您可以使用示例
<select ng-model="selectedFruit" ng-options="fruit.name for fruit in pc.fruit"></select>
如果您想使用选项标签,那么尝试在选项标签上添加ng-options是错误的,您可以使用ng-repeat。
<select name="" ng-model="selectedFruit">
<option ng-repeat="fruit in pc.fruits" value="{{fruit.name}}">{{fruit.name}}</option>
</select>
如果这些例子不能满足您的需求,请找一个例子:https://www.undefinednull.com/2014/08/11/a-brief-walk-through-of-the-ng-options-in-angularjs/
答案 1 :(得分:0)
经过研究,我发现,这创造了儿童范围。因此,需要使用$parent.$parent.fruit
代替$parent.fruit
<select name="" ng-model='$parent.$parent.fruit' ng-options="fruit as fruit.name for fruit in fruit_list">
<option value="" selected="selected">Select a fruit</option>
</select>