AngularJS ng-model 根据条件更新值

AngularJS ng-model update value on condition

我是 AngularJS 的新手,有一个(可能简单或愚蠢的)问题。

我有一个输入单选框,带有 ng-model,值取决于条件

<input type="radio" name="q_{{question.id}}" ng-model="question.option.id" value="{{!survey.isOptionSelected(question.related_question_option_id) ? 0 : opt.id}}">

我的问题是当(或如果)条件发生变化时 ng-model="question.option.id" 没有变化..有没有办法用当前值更新它?

您需要将 value 替换为 ng-valuehttps://docs.angularjs.org/api/ng/directive/ngValue

也许我错了,但查看您的代码,您似乎在尝试 enable/disable 一些单选按钮,具体取决于复选框。

<input type="radio" name="q_{{question.id}}" 
       ng-model="question.option.id" 
       value="{{opt.id}}" 
       ng-disabled="survey.isOptionSelected(question.related_question_option_id)" />

这不是更好的选择吗?

而且,如果你的条件改变了,你必须在可以改变的select上添加一个$watch,并更新回调

里面的question.option.id