Угловая 2- Ошибка не может быть присвоена ссылке или переменной - PullRequest
0 голосов
/ 03 октября 2018

Я использую Angular 2. У меня есть 2 вложенных ng-template, как показано ниже:

<ng-template ngFor let-support [ngForOf]="support">
 <div class="row">
    <div class="col-sm-3">
       <div class="form-group form-float">
          <div class="form-line focused">
             <select [ngModelOptions]="{standalone: true}" [(ngModel)]="support.option" class="form-control">
                 <option value="1">1</option>
                 <option value="2">2</option>
                 <option value="3">3</option>
                 <option value="4">4</option>                                   
             </select>
             <label class="form-label">Option</label>
           </div>
         </div>
       </div>
    <div class="col-sm-3">
       <ng-template ngFor let-op3 [ngForOf]="support.option3">
          <select [ngModelOptions]="{standalone: true}" [(ngModel)]="op3" class="form-control">
              <option value="1">1</option>
              <option value="2">2</option>
              <option value="3">3</option>
              <option value="4">4</option>
          </select>
          <label class="form-label">Option3</label>
       </ng-template>
    </div>
  </div>
</ng-template>

Работает нормально без внутреннего ng-template.При наличии внутреннего цикла выдается следующая ошибка:

core.js: 1449 ОШИБКА Ошибка: Uncaught (в обещании): Ошибка: невозможно присвоить ссылку или переменную!Ошибка: невозможно присвоить ссылку или переменную!

Вот модель поддержки:

{
"support": [
      {
        "option": "string",
        "option2": "string",
        "option3": ["string"]
      }
   ]
}

Ответы [ 2 ]

0 голосов
/ 28 июня 2019

Ошибка, с которой я столкнулся, вызванная моим именем ng-шаблона
, совпадает с именем другого параметра ngModel.

<ng-template #test></ng-template>
<xx [(ngModel)]="test">

смена названия шаблона работает

0 голосов
/ 03 октября 2018

Только что нашел!Мне пришлось изменить внутреннюю привязку на:

<ng-template ngFor let-op3 [ngForOf]="support.option3" let-op3Index="index2">
    <div class="row">
         <div class="form-group form-float">
             <div class="form-line focused">
                <select [ngModelOptions]="{standalone: true}" [(ngModel)]="op3[index2]" class="form-control">
                    <option value="xxx">xxx</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    <option value="4">4</option>
                </select>
              <label class="form-label">Option3</label>
            </div>
          </div>
        </div>
      </ng-template>
...