Angular 根据剑道菜单中服务中的数据在新选项卡中打开url

Angular 根据剑道菜单中服务中的数据在新选项卡中打开url,angular,kendo-ui,url-routing,kendo-menu,Angular,Kendo Ui,Url Routing,Kendo Menu,我搜索了很多帖子,但没有任何适合我的方案。我通过sql使用数组构建动态填充剑道菜单 <kendo-menu [items]="items" [vertical]="true" style="display:inline-block;"> </kendo-menu> 但是,单击菜单/子菜单会在同一窗口中打开url。我想在其他窗口或新选项卡中打开。HTML为剑道菜单编写选择事件,如下所示 <kendo-menu [ite

我搜索了很多帖子,但没有任何适合我的方案。我通过sql使用数组构建动态填充剑道菜单

<kendo-menu [items]="items"
            [vertical]="true"
            style="display:inline-block;">
</kendo-menu>
但是,单击菜单/子菜单会在同一窗口中打开url。我想在其他窗口或新选项卡中打开。HTML
为剑道菜单编写选择事件,如下所示

<kendo-menu [items]="items" (select)="onSelect($event)"></kendo-menu>
public onSelect({ item }): void {
        if (!item.items) {
            window.open([item.url], "_blank");
        }
    }

他能够解决这个问题。这是一个两步的过程。在初始帖子中给出了以下数组结构,请在当前窗口中打开。因此,在初始加载时获取唯一的MenuID而不是url。然后就像曼尼拉吉斯建议的那样

public onSelect({ item }): void {

//call service to get url for this MenuID

}

我在行窗口上遇到错误。打开…..类型为“any[]”的TS2345(TS)参数不能分配给类型为“string”的参数。请上载/链接可运行的代码以进行调试。但想法相同@silverfish此代码窗口。打开(item.url.toString(),'u blank');确实会在新窗口中打开url,但也会打开指向同一url的当前应用程序url。因此,两个窗口具有相同的url。例如,两个windows for will openPlease包括http@SilverFishPlease,如果您发现这有助于解决您的问题,请接受答案@银鱼
public onSelect({ item }): void {
        if (!item.items) {
            window.open([item.url], "_blank");
        }
    }
public onSelect({ item }): void {

//call service to get url for this MenuID

}