我有一个条件,在我的 Angular 应用程序的 View 中,如果返回 false 则禁用点击事件,如下所示:
<li data-ng-click="!$ctrl.question.q1 || activeTab = 1" data-ng-disabled="!$ctrl.question.q1">Q.1</li>
<li data-ng-click="!$ctrl.question.q2 || activeTab = 2" data-ng-disabled="!$ctrl.question.q2">Q.2</li>
如果 question.q2
返回 false,请不要更改 activeTab
的值并保持禁用状态。该功能有效,但控制台中显示错误:
Trying to assign a value to a non l-value
我找到了这个 thread ,这解释了我如何分配一个值而不是比较它,但我需要分配它来更改单独面板中显示的内容。在添加条件之前选项卡功能运行良好。
问题
如何解决此错误?
<uib-tabset active="activeTab">
<uib-tab heading="" index="1" data-ng-hide="true">
//content
</uib-tab>
<uib-tab heading="" index="2" data-ng-hide="true">
//content
</uib-tab>
</uib-tabset>
最佳答案
data-ng-click
中的逻辑读作“NOT $ctrl.question.q2 OR assign activeTab value 2”
我想你想要的是在那里使用三元运算符的简写 if 语句:
data-ng-click="activeTab = $ctrl.question.q2 ? 2 : activeTab"
读作:“如果 $ctrl.question.q2 为真,则将值 2 分配给 activeTab,如果 $ctrl.question.q2 为假,则为其分配旧值”
关于javascript - 尝试将值分配给非左值 - AngularJs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50716480/