Uncaught ReferenceError: для onclick - PullRequest
       16

Uncaught ReferenceError: для onclick

0 голосов
/ 26 декабря 2018

Я получаю Uncaught ReferenceError: для обработчика события onclick

  <ng-conatiner *ngIf="x else y" >
     <div onclick="x()"> {{x.getText()}} </div> 
  </ng-conatiner>

   <ng-template #y>
    <div>{{y.getText()}}</div>
   </ng-template>

  export class A implements OnInit {
    ngOnInit() {
        console.log("in ngOnInit");    
    } 
    x(){
        console.log("clicked");
     }

  }

ожидаемый результат будет виден при нажатии кнопки мыши в консоли, но я получаю неперехваченную ссылку.

Может ли кто-нибудь помочь мне?

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

Вы должны использовать (click)=x().click и onClick - это одно и то же событие.Вы должны использовать onclick при назначении встроенного обработчика и click при назначении с использованием прослушивателя событий.

Обработчики on-event представляют собой группу свойств, предлагаемых элементами DOMчтобы помочь управлять тем, как этот элемент реагирует на события

В angular мы используем прослушиватель событий, поэтому используется click .:

 <ng-conatiner *ngIf="x else y" >
     <div (click)="x()"> {{x.getText()}} </div> 
 </ng-conatiner>
0 голосов
/ 26 декабря 2018

Вы должны использовать (click)="x()" вместо onclick

<ng-conatiner *ngIf="x else y" >
     <div (click)="x()"> {{x.getText()}} </div> 
 </ng-conatiner>

Вот страница документации Angular для дальнейшего чтения: https://angular.io/guide/user-input

ОБНОВЛЕНИЕ

Вот учебник о привязке событий:

https://angular -2-training-book.rangle.io / handout / components / app_structure / responseding_to_component_events.html

...