vue3函數掛載到window對象
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
一、概述最近項目中需要與其他系統集成,其他系統通過獲取頁面上的HTML內容來進行集成。因此需要提供一種JS的方式來執行網站的腳本。由于網站是基于VUE開發的,通過搜索資料,有兩種方式將VUE的方法掛載到window對象。話不多說,直接上代碼片段。 二、掛載方式一mounted() { // 第一種掛載方式 window.jsLogin = this.jsLogin }, methods: { // jsLogin掛載到window對象 jsLogin(username, password) { this.username = username this.passowrd = password this.login() }, login() { console.log('login username: ' + this.username + ', pwd: ' + this.passowrd) sessionStorage.setItem('username', this.username) httpGet('/api/user/get/1') this.$router.push({path: '/dashboard/dashboard1'}) } }, 通過mounted方法掛載方法到對應的屬性中,其中jsLogin是自定義的屬性,指向VUE的jsLogin方法。 測試方式:啟動網頁后,F12調出控制臺,輸入window.jsLogin('panda','mypwd') 實現登錄。 三、掛載方式二// 注意這里需要 import Vue from 'vue' mounted() { // 第二種掛載方式 Vue.prototype.jsLogin = this.jsLogin }, methods: { // jsLogin掛載到window對象 jsLogin(username, password) { this.username = username this.passowrd = password this.login() }, login() { console.log('login username: ' + this.username + ', pwd: ' + this.passowrd) sessionStorage.setItem('username', this.username) httpGet('/api/user/get/1') this.$router.push({path: '/dashboard/dashboard1'}) } }, // main.js 第二種掛載方式 window.vm = new Vue({ router, store, render: h => h(App), }).$mount('#app') 鏈接:https://www.jianshu.com/p/a787b090602f 來源:簡書 著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。 該文章在 2023/6/2 16:43:31 編輯過 |
關鍵字查詢
相關文章
正在查詢... |