Angular вызывает вычисляемую переменную в другой функции внутри цикла

Я изучаю Angular 5 и привык к PHP, поэтому меня смущают переменные.

У меня есть цикл, и я хочу вызвать вычисляемую переменную в другой функции внутри цикла. Мой код:

<tr *ngFor="let item of mf.data">
  <td>
  {{item > 0 ? myNewVar = 1 : myNewVar = 0}} // Why can't I do this?
  {{myNewVar}}
  </td>
  <td>
  {{myFunc(myNewVar)}}
  </td>
</tr>

Таким образом, Angular жалуется на мой код выше:

Parser Error: Bindings cannot contain assignments at column

Почему я не могу объявить переменную в операторе if в шаблоне? Мне нужно делать все в рамках функций?

Вам, вероятно, лучше перенести логику в класс компонента. Вы также можете заранее добавить свойства, такие как myNewVar и myFuncVal, к каждому item в классе.

Frank Modica 31.10.2018 14:20
0
1
29
1

Ответы 1

Можно так писать. Подробности смотрите здесь

<tr *ngFor="let item of mf.data">
    <td>
    {{myFunc2(item)}}
    </td>
    <td>
    {{myFunc(myNewVar)}}
   </td>
</tr>

Спасибо, Харунур, к сожалению, я все еще получаю сообщение «Привязки не могут содержать задания» в консоли с этим кодом. E

Ryan Dorn 31.10.2018 14:15

@RyanDorn, обновил мой ответ. Надеюсь, это сработает так, как вы ожидаете.

Harun Or Rashid 31.10.2018 14:26

Другие вопросы по теме