vue单页面应用打开新窗口显示跳转页面的方法

一般单页面应用,例如vue都是通过vue-router来做跳转,不会像多页应用一样另起新页面显示,但是也不排除一些业务上的需要。

例如,展板,监控屏等等。

代码参考如下:

当点击的路由名称为“locStatusScreen”时,则进行新页面跳转打开,打开的页面还是当前单页面功能的其中一个页面。

当点击的路由名称为“gridManagement”时,则进行单点登录跳转打开,打开的页面是第三方系统的某个页面。

     onClick(data) {
            let hasChild = data.children && !!data.children.length;
            if (data.menuCode === "gridManagement") {
                openClient(this.$store.state.loginInfo.accountName);
                // 当要进入到systemConfig(系统配置)页面时,重新打开一个网页加载另一个页面
            } else if (data.menuCode === "systemConfig") {  
                this.toSystemConfig();
            } else if(data.menuCode === "locStatusScreen") {
                const {href} = this.$router.resolve({
                    name: data.menuCode,
                    params: {}
                });
                window.open(href, '_blank');
            } 
            else {
                !hasChild && this.$router.push({ name: data.menuCode })
            }
        },
        async toSystemConfig() {
            try {
                let { data } = await getSysmgr();   // 猜测应该是执行了单点登录功能,返回带有用户信息的url
                window.open(data, "_blank");
            } catch (e) {
                this.$Message.error(e)
            }
        }

  

posted on 2020-07-15 14:06  紫藤萝yu  阅读(3609)  评论(0编辑  收藏  举报