我使用<p>
标签来显示一组答案选项。每个选项都是可选的,它设置一个类并在单击时运行一些功能。
一旦选择了答案并ng-click
,我想禁用任何$scope.question_checked === true
操作。我尝试按照禁用按钮的格式,但这对非按钮元素的工作方式不同。
<p
ng-repeat="c in choices track by ($index+1)"
ng-click="question_checked || c.selected = !c.selected; makeSelection($index+1, this)"
class="choice"
ng-class="{'selected': c.selected==true}"
ng-disabled="question_checked">
{{letters[$index]}}) {{c.choice}}
</p>
如何禁用ng-click
,例如p
元素?
目前情况如何,我收到错误:
错误:[$ parse:lval]尝试将值赋给非l值
这是我在c.selected = !c.selected;
中ng-click
以及其他功能的时候。
答案 0 :(得分:0)
<p ng-repeat="c in choices track by ($index+1)"
ng-init="question_checked = false"
ng-click="(!question_checked ? makeSelection($index+1, this) : return); question_checked = true"
class="choice"
ng-class="{'selected': c.selected==true}">
{{letters[$index]}}) {{c.choice}}
</p>
将ng-repeat
子范围变量作为false
ng-init="question_checked = false"
如果question_checked == false
然后makeSelection()
调用,如果不是等于那么return
之后没有任何事情发生question_checked
分配为真question_checked = true
ng-click="(!question_checked ? makeSelection($index+1, this) : return); question_checked = true"
我们这里不需要ng-disabled
。