首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据Kendo菜单中服务中的数据,在新选项卡中打开url

根据Kendo菜单中服务中的数据,在新选项卡中打开url
EN

Stack Overflow用户
提问于 2019-05-30 08:33:47
回答 2查看 682关注 0票数 0

我搜索了许多帖子,但没有任何适合我的方案的解决方案。我是通过sql动态使用数组构建的population kendo菜单。

代码语言:javascript
复制
<kendo-menu [items]="items"
            [vertical]="true"
            style="display:inline-block;">
</kendo-menu>

这是我正在遵循的示例:

https://www.telerik.com/kendo-angular-ui/components/menus/menu/vertical/

以下是items数组的结构:

代码语言:javascript
复制
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" }]
}];

然而,点击菜单/子菜单会在同一窗口中打开url。我想在不同的窗口或新选项卡中打开。超文本标记语言<a>标签在这里不起作用。请给出建议

代码语言:javascript
复制
<a href="https://www.thesitewizard.com/" target="_blank">thesitewizard.com</a>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-30 15:16:30

为剑道菜单编写select事件,如下所示。

代码语言:javascript
复制
<kendo-menu [items]="items" (select)="onSelect($event)"></kendo-menu>

之后,在onSelect方法中使用如下所示的window.open方法。

代码语言:javascript
复制
public onSelect({ item }): void {
        if (!item.items) {
            window.open([item.url], "_blank");
        }
    }
票数 1
EN

Stack Overflow用户

发布于 2019-05-30 22:09:10

能够解决。这是一个两步的过程。使用初始post中给出的数组结构,可以在当前窗口中打开。因此,在初始加载时获取唯一的MenuID而不是url。然后按照ManirajSS的建议

代码语言:javascript
复制
public onSelect({ item }): void {

//call service to get url for this MenuID

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

https://stackoverflow.com/questions/56370188

复制
相关文章

相似问题

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