почему (click) = "handleEdit ()" не работает здесь - PullRequest
0 голосов
/ 30 апреля 2019

Может кто-нибудь сказать мне, почему (click) = handleEdit ($ event) не работает? Я выделил HTML ниже. Он использует кнопку p primeng. Я опубликовал похожий вопрос, но думаю, что этот вопрос более важен.

    <div class="ui-g-12 ui-md-10 ui-g-nopad">
        <div class="ui-g-12">
            <p-toolbar id="toolbarId">
                <div class="ui-toolbar-group-left">
                    **<button pButton type="button" label="Edit" icon="pi pi-search" id="editBtn" class="ui-button-danger" (click)="handleEdit($event)"></button>**                   
                </div>

                <div class="ui-toolbar-group-right">
                    <button pButton type="button" icon="pi pi-search" id="searchId"></button>
                    <button pButton type="button" icon="pi pi-calendar" class="ui-button-success"
                        id="calendarBtn"></button>
                    <button pButton type="button" icon="pi pi-times" class="ui-button-danger" id="exitBtn"></button>      
                </div>
            </p-toolbar>
        </div>
        <router-outlet></router-outlet>
     </div>



export class HomescreenComponent implements OnInit {
  title = 'niche-app Home';
  appMenu: AppMenu;

  constructor(private appMenuService: AppMenuService) { }

  items: MenuItem[];

  ngOnInit() {
    this.appMenu = this.appMenuService.getAppMenu();
    ...
  }

  handleEdit() {
    console.log("handleEdit(): Called...");
  }

}

Ответы [ 2 ]

0 голосов
/ 01 мая 2019

Я разобрался в проблеме. Тег розетки маршрутизатора необходимо переместить под тег p-toolbar. Имея его там, где он был вызван, он не будет дочерним по отношению к родительскому компоненту домашнего экрана.

Как только я переместил расположение маршрутизатора в файл homescreen.html, он начал отвечать на событие (click).

Спасибо, guptarahul275, что нашли время ответить на мой вопрос.

    <div class="ui-g-12 ui-md-10 ui-g-nopad">
    <div class="ui-g-12">
        <p-toolbar id="toolbarId">
            <div class="ui-toolbar-group-left">
                <button pButton type="button" label="New" icon="pi pi-plus" id="newBtn"></button>
                <button pButton type="button" label="Edit" icon="pi pi-search" id="editBtn" class="ui-button-danger" (click)="handleEdit($event)"></button>
                <button pButton type="button" label="Upload" icon="pi pi-upload" class="ui-button-success"
                    id="uploadBtn"></button>

                <i class="pi pi-bars"></i>

                <p-splitButton label="Save" icon="pi pi-check" [model]="items" styleClass="ui-button-warning"
                    id="saveBtn"></p-splitButton>
            </div>

            <div class="ui-toolbar-group-right">
                <button pButton type="button" icon="pi pi-search" id="searchId"></button>
                <button pButton type="button" icon="pi pi-calendar" class="ui-button-success"
                    id="calendarBtn"></button>
                <button pButton type="button" icon="pi pi-times" class="ui-button-danger" id="exitBtn"></button>
            </div>
        </p-toolbar>
        <router-outlet></router-outlet>
    </div>
    **router-outlet used to be here**
</div>
0 голосов
/ 30 апреля 2019
<div class="ui-toolbar-group-left">
   <button 
     pButton 
     type="button"
     label="Edit" 
     icon="pi pi-search"
     id="editBtn"  
     class="ui-button-danger" 
     (click)="handleEdit($event)">
      Hello
   </button>                  
</div>

Скопируйте, вставьте HTML-код на страницу и нажмите кнопку.Я тестировал и его печать в консоли

...