这是我的模板:
<div class="form-group"
ng-repeat="recipeIngredient in recipes.currentRecipe._ingredients">
<label class="col-sm-2 control-label">Ingredient {{ $index + 1 }}</label>
<div class="col-sm-10 form-inline" role="form">
<input
type="text"
class="form-control"
placeholder="quantity"
ng-model="recipeIngredient.quantity"
>
<input
type="text"
class="form-control"
ng-model="recipeIngredient._unit"
>
<select
class="form-control"
ng-model="recipeIngredient._unit"
ng-options="unit._id for unit in units"
/>
<select
ng-model="recipeIngredient._ingredient"
class="form-control"
ng-model="recipeIngredient._ingredient"
ng-options="ingredient._id for ingredient in ingredients"
/>
<button
type="button"
class="btn btn-default btn-xs glyphicon glyphicon-remove"
ng-click="recipes.currentRecipe.removeRecipeIngredient($index)">
</button>
</div>
</div>
我想显示currentRecipe中列出的成分 如果我使用:
<input type="text" class="form-control" ng-model="recipeIngredient._unit">
我可以看到_unit
的价值
但是为什么选择表单根本没有显示recipeIngredient._unit
的当前值?
<select
class="form-control"
ng-model="recipeIngredient._unit"
ng-options="unit._id for unit in units"
/>
我已验证_unit是单位列表的一部分
如果我将选择框的值更改为某个值,则输入文本显示&#34;对象&#34;,这意味着模型的实际值是单位对象而不是unit._id
文本
ng-options="unit._id for unit in units"`
请告诉我您是否需要其他代码
答案 0 :(得分:0)
我发现当我使用时:
ng-options="unit._id for unit in units"
下拉框中显示的文字为unit._id
,但ng-model
将是单位中的对象,而不是文字显示的内容!
为了纠正我的问题,我写得像这样:
<select ng-model="recipeIngredient._unit" class="form-control">
<option ng-repeat="unit in getId(units, '_id')">{{unit}}</option>
</select>
getId
是从_id
units
列表的函数