首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PrimeNG PanelMenu routerLink问题

PrimeNG PanelMenu routerLink问题
EN

Stack Overflow用户
提问于 2016-05-13 14:32:19
回答 5查看 13.4K关注 0票数 2

我使用的是带有Angular RC 2.0.0-rc.1版本的PrimeNG (1.0.0-beta.5) PanelMenu

下面是PrimeNG面板菜单的示例代码。当我单击ProjectWelcome链接时,它会刷新整个页面,然后加载相应的组件。

代码语言:javascript
复制
<p-panelMenu id="panelMenu">
    <div>
        <div><a data-icon="fa-file-o"><span>Report</span></a></div>
        <div>
            <ul>
                <li><a data-icon="fa-plus"><span>New</span></a>
                    <ul>
                        <li><a [routerLink]="['Project']" (click)="mobileMenuActive = false">Project</a></li>
                        <li><a [routerLink]="['Welcome']" (click)="mobileMenuActive = false">Welcome</a></li>
                    </ul>
                </li>
                <li><a [routerLink]="['Project']">Project</a></li>
                <li><a><span>Quit</span></a></li>
            </ul>
        </div>
    </div>
</p-panelMenu>

每当我像下面这样使用nav元素时,它都会正确地调用相应的组件,而无需刷新页面。

代码语言:javascript
复制
<nav>
            <div class='container-fluid'>
                <ul class='nav navbar-nav'>
                    <li><a [routerLink]="['Welcome']">Home</a></li>
                    <li><a [routerLink]="['Project']">Product List</a></li>
                </ul>
            </div>
</nav>

你知道我在primeNG面板菜单实现中遗漏了什么吗?

干杯桑吉特

EN

回答 5

Stack Overflow用户

发布于 2016-05-19 23:26:12

我正在使用primeng beta.6版本,仍然存在这个问题。当我从菜单(不仅仅是路由器插座区域)导航时,整个页面都会刷新。

HTML:

代码语言:javascript
复制
<p-tabMenu class="ui-tabmenu" [model]="items"></p-tabMenu>

TS:

代码语言:javascript
复制
ngOnInit() {
        this.items = [    
           { label: 'Notes', icon: 'fa-file-o', url: ['Page1'] },
            { label: 'Companies', icon: 'fa-edit', url: ['Page2'] },
            { label: 'Google', icon: 'fa-plus', url: 'http://www.google.com' }
        ];
    }

我只想刷新视图区域,而不想刷新菜单。这在beta.6中仍然是一个问题吗?

票数 3
EN

Stack Overflow用户

发布于 2016-05-19 16:09:08

请在优质社区http://forum.primefaces.org/viewtopic.php?f=35&t=45504上引用此帖子

票数 1
EN

Stack Overflow用户

发布于 2021-05-27 04:18:24

您有几种使用它的方法。

第一次设置面板菜单时:

代码语言:javascript
复制
//HTML
<p-panelMenu [model]="items"></p-panelMenu>

然后在您的.ts文件中:

代码语言:javascript
复制
items: MenuItem[] = [];

ngOnInit() {
    this.items = [
        {
            label: 'Users',
            url:"/users" //<<<-------- This will reload the page and go /users
        },
        {
            label: 'Profile',
            routerLink:"/profile" //<<<-------- This works the same way as <a routerLink="/profile">Profile</a>
        },
        {
            label: 'Command',
            command:(click)=>{this.router.navigate(['/command']);} //<<<-------- Will not reload the page
        }
    ]
}

以下是它的工作原理的一些解释:

  • url =>这用于外部导航(外部链接),说明使用时重新加载页面的原因;

它的行为就像

一样

  • command =>它用于在单击项目时调用函数。您可以阅读有关here

的更多信息

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37202773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档