vueルーティングなしでアドレスバーurlのパラメータを直接取得
前言
vueではルーティングを使用してurlパラメータを設定することはよく知られていますが、この方法ではパスにパラメータを添付する必要があり、このパラメータはvueのルーティングで事前に設定する必要があります.相対的に、urlの後ろに直接接続する場合がありますか?mid=100の方式はパラメータを伝達するのがもっと柔軟で、ルートを設定する必要はなく、urlの後でパラメータをつなぐだけでいいが、この方式はjavascriptを通じてurlの中のパラメータを取得して抽出する必要があり、伝統的な方式で直接ページで取得することはできない.vueではlocationを通過できないからだ.search()はurl疑問符の後の内容を取得する.
もちろん,この問題にも解決策があり,パラメータを取得するスクリプトコードをグローバルメソッドに登録すればよい.以下はあまり話さないので、詳しい方法の例を見てみましょう.サンプルコードの第一歩:utilsを作成する.jsファイルをプロジェクトルートディレクトリに保存
ステップ2:メインjsメソッド(main.js)にグローバルメソッドを登録する
ステップ3:vueファイルでの参照方法
vueではルーティングを使用してurlパラメータを設定することはよく知られていますが、この方法ではパスにパラメータを添付する必要があり、このパラメータはvueのルーティングで事前に設定する必要があります.相対的に、urlの後ろに直接接続する場合がありますか?mid=100の方式はパラメータを伝達するのがもっと柔軟で、ルートを設定する必要はなく、urlの後でパラメータをつなぐだけでいいが、この方式はjavascriptを通じてurlの中のパラメータを取得して抽出する必要があり、伝統的な方式で直接ページで取得することはできない.vueではlocationを通過できないからだ.search()はurl疑問符の後の内容を取得する.
もちろん,この問題にも解決策があり,パラメータを取得するスクリプトコードをグローバルメソッドに登録すればよい.以下はあまり話さないので、詳しい方法の例を見てみましょう.サンプルコードの第一歩:utilsを作成する.jsファイルをプロジェクトルートディレクトリに保存
export function getUrlKey(name){
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.href) || [, ""])[1].replace(/\+/g, '%20')) || null
}
ステップ2:メインjsメソッド(main.js)にグローバルメソッドを登録する
import utils from './utils' // url
Vue.prototype.$utils=utils //
ステップ3:vueファイルでの参照方法
import {getUrlKey} from './getUrlKey.js'
data() {
return {
LIFNR:'',
}
},
created(){
// :`http://localhost:9527/#/newPage?LIFNR=1000000524`
//
this.LIFNR = getUrlKey('LIFNR')
console.log(this.LIFNR) //1000000524
},