根据 Kendo 菜单中服务中的数据,在新选项卡中打开 url
Open url in new tab based on data in service in Kendo Menu
我搜索了很多帖子,但没有任何解决方案适用于我的情况。我使用通过 sql.
构建的数组动态填充 kendo-menu
<kendo-menu [items]="items"
[vertical]="true"
style="display:inline-block;">
</kendo-menu>
这是我关注的示例:
https://www.telerik.com/kendo-angular-ui/components/menus/menu/vertical/
项目数组的结构如下:
export const items: any[] = [
{
text: 'Reportingd',
items: [{ text: 'Dash', url: "https://www.google.com" }, {
text: 'Realtime',
items: [{ text: 'DesktopNew', url: "https://www.telerik.com" }, { text: 'laptop', url: "https://www.msn.com" }]
}]
},
{
text: 'Other Reporting',
items: [{ text: 'Training', url: "https://www.msn.com" }, { text: 'UserManual', url: "https://www.msn.com" }, { text: 'Guide',
items: }]
},
{
text: 'Tools',
items:[{ text: 'Training', url: "https://www.msn.com" }]
}];
但是,单击 menu/sub-menu 会在同一个 window 中打开 url。我想在不同的 window 或新标签页中打开。 HTML <a>
标签在这里不起作用。请推荐
<a href="https://www.thesitewizard.com/" target="_blank">thesitewizard.com</a>
为 kendo 菜单编写 select 事件,如下所示。
<kendo-menu [items]="items" (select)="onSelect($event)"></kendo-menu>
之后在 onSelect 方法中使用如下 window.open 方法。
public onSelect({ item }): void {
if (!item.items) {
window.open([item.url], "_blank");
}
}
能够解决。虽然这是两步过程。在初始 post 中给出以下数组结构,仅在当前 window 中打开。因此,在初始加载时获取唯一的 MenuID 而不是 url。然后按照 ManirajSS 的建议
public onSelect({ item }): void {
//call service to get url for this MenuID
}
我搜索了很多帖子,但没有任何解决方案适用于我的情况。我使用通过 sql.
构建的数组动态填充 kendo-menu<kendo-menu [items]="items"
[vertical]="true"
style="display:inline-block;">
</kendo-menu>
这是我关注的示例:
https://www.telerik.com/kendo-angular-ui/components/menus/menu/vertical/
项目数组的结构如下:
export const items: any[] = [
{
text: 'Reportingd',
items: [{ text: 'Dash', url: "https://www.google.com" }, {
text: 'Realtime',
items: [{ text: 'DesktopNew', url: "https://www.telerik.com" }, { text: 'laptop', url: "https://www.msn.com" }]
}]
},
{
text: 'Other Reporting',
items: [{ text: 'Training', url: "https://www.msn.com" }, { text: 'UserManual', url: "https://www.msn.com" }, { text: 'Guide',
items: }]
},
{
text: 'Tools',
items:[{ text: 'Training', url: "https://www.msn.com" }]
}];
但是,单击 menu/sub-menu 会在同一个 window 中打开 url。我想在不同的 window 或新标签页中打开。 HTML <a>
标签在这里不起作用。请推荐
<a href="https://www.thesitewizard.com/" target="_blank">thesitewizard.com</a>
为 kendo 菜单编写 select 事件,如下所示。
<kendo-menu [items]="items" (select)="onSelect($event)"></kendo-menu>
之后在 onSelect 方法中使用如下 window.open 方法。
public onSelect({ item }): void {
if (!item.items) {
window.open([item.url], "_blank");
}
}
能够解决。虽然这是两步过程。在初始 post 中给出以下数组结构,仅在当前 window 中打开。因此,在初始加载时获取唯一的 MenuID 而不是 url。然后按照 ManirajSS 的建议
public onSelect({ item }): void {
//call service to get url for this MenuID
}