Попытка присвоить значение не l-значению - AngularJs - PullRequest
0 голосов
/ 06 июня 2018

В моем приложении Angular есть условие, которое отключает событие click, если возвращается 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

Я нашел этот поток , который объясняет, как я присваиваю значение, а не сравниваю его, но мне нужно назначитьэто изменить то, что отображается на отдельной панели.Функция вкладки работала нормально до добавления условия.

Вопрос

Как мне устранить эту ошибку?

<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>

1 Ответ

0 голосов
/ 06 июня 2018

Логика внутри data-ng-click читается как "NOT $ ctrl.question.q2 ИЛИ присваивает значение activeTab 2"

Я думаю, что вы хотите, чтобы это был сокращенный оператор if там, используя троичный оператор какнапример:

data-ng-click="activeTab = $ctrl.question.q2 ? 2 : activeTab"

Что читается как: «Назначьте значение 2 для activeTab, если $ ctrl.question.q2 равно true, или присвойте ему старое значение, если $ ctrl.question.q2ложь "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...