当ngModel是对象时,ngValue不会重新填充无线电输入

时间:2017-03-09 20:29:38

标签: javascript angularjs

我正在使用AngularJS v1.4.3和Bootstrap v3.3.6。

我创建了一个单选按钮列表,如下所示

<div>
    <label>Pizza</label>
    <ul ng-repeat="option in pizzaOptions">
        <input type="radio" name="pizza" ng-model="pickedPizza" 
           ng-value="{{option}}">
        {{option.displayText}}
    </ul>
</div>

ngModel- pickedPizza是一个对象。

选择选项时,用户的选择会正确保存。单选按钮显示用户已选择一个选项。一旦用户导航到下一页并返回该选项,则不再选择该选项,尽管仍然正确填充了ngModel。

当ngModel不是一个对象而且我不需要使用ngValue(如下所示)时,离开页面然后返回重新选择选择。

<div>
    <label>Drink</label>
    <ul ng-repeat="option in drinkOptions">
        <input type="radio" name="drink" 
           ng-model="drinkSelected" value="{{option}}">
        {{option}}
    </ul>
</div>

1 个答案:

答案 0 :(得分:0)

正如georgeawg所说,模型需要是一个点对象 因此,$scope.pickedPizza = {displayText: 'cheese'}代替$scope.pickedPizza = { value : {displayText: 'cheese'} };ng-model='pickedPizza.value'或类似内容。

Demo