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