一般單頁面應用,例如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) } }