2017-09-19 27 views
0

我需要在菜單項中添加一些HTML代碼,所以我嘗試使用自定義顯示:如何使用模板PrimeNG panelMenu

我的模板:

<p-panelMenu styleClass="main-menu" class="main-menu" [model]="menus"> 
    <ng-template let-menus pTemplate> 
     {{menus.label}} <span>otherStuff</span> 
    </ng-template> 
</p-panelMenu> 

組件:

this.menus = [ 
     { 
      label: 'Dashboard', 
      icon: 'fa-home', 
      routerLink: '/home' 
     }, 
    ... 

什麼也沒有發生,它仍然顯示菜單,就好像我沒有添加模板。我錯過了什麼?

+0

難道是可能有演示? – Vega

+0

你可以檢查我的答案。我認爲這種方式來添加模板面板菜單 – Chandru

回答

0

你不能對panelMenu內使用,因此嘗試下面這樣:

試試這個:

<p-panelMenu styleClass="main-menu" class="main-menu" [model]="menus"> 
</p-panelMenu> 

component.ts

export class AppComponent implements AfterViewInit { 
    menus: MenuItem[]; 

    constructor(
    ) { 

     this.menus = [{ 
      label: 'Dashboard', 
      icon: 'fa-home', 
      routerLink: '/home' 
     }] 
    } 

    ngAfterViewInit() { 
     let element1 = document.createElement('span') 
     let element2 = document.createTextNode('otherStuff'); 
     element1.appendChild(element2) 
     let d1 = document.getElementsByClassName('ui-menuitem-text')[0].appendChild(element1); 
    } 
} 
+0

我認爲這將工作,但我想避免操縱DOM – Lempkin