Vue.js
バニラ JavaScript と同様にリダイレクトを行いたい
window.location.href = 'some_url'
Vue.jsでこれを達成するにはどうすればよいですか?
Vue.js
バニラ JavaScript と同様にリダイレクトを行いたい
window.location.href = 'some_url'
Vue.jsでこれを達成するにはどうすればよいですか?
を使用している場合はvue-router
、 を使用router.go(path)
して特定のルートに移動する必要があります。を使用して、コンポーネント内からルーターにアクセスできますthis.$router
。
それ以外の場合は、window.location.href = 'some url';
シングルページ以外のアプリでは正常に機能します。
EDIT : router.go()
VueJS 2.0 で変更されました。$router.push({ name: "yourroutename"})
or just now を使用router.push("yourroutename")
してリダイレクトできます。
注: コントローラーでは次を使用します。this.$router.push({ name: 'routename' })
ちょうど使用:
window.location.href = "http://siwei.me"
vue-router を使用しないでください。そうしないと、「http://yoursite.com/#!/http://siwei.me」にリダイレクトされます。
私の環境: ノード 6.2.1、vue 1.0.21、Ubuntu。
/a
あるページから別のページへの永続的なリダイレクトが必要な場合/b
redirect:
に追加されたオプションを使用できますrouter.js
。たとえば、ユーザーがルート URL またはベース URL を入力したときに常に別のページにリダイレクトする場合は、次のようにします/
。
const router = new Router({
mode: "history",
base: process.env.BASE_URL,
routes: [
{
path: "/",
redirect: "/someOtherPage",
name: "home",
component: Home,
// () =>
// import(/* webpackChunkName: "home" */ "./views/pageView/home.vue"),
},
]
そのため、私が探していたのはを配置する場所window.location.href
だけであり、私がたどり着いた結論は、リダイレクトする最善かつ最速の方法はルートであるということでした (その方法では、リダイレクトする前に何かが読み込まれるのを待ちません)。
このような:
routes: [
{
path: "/",
name: "ExampleRoot",
component: exampleComponent,
meta: {
title: "_exampleTitle"
},
beforeEnter: () => {
window.location.href = 'https://www.myurl.io';
}
}]
多分それは誰かを助けるでしょう..
<div id="app">
<a :href="path" />Link</a>
</div>
<script>
new Vue({
el: '#app',
data: {
path: 'https://www.google.com/'
}
});
</script> enter code here
使用している CRM に JavaScript を介して挿入したカスタム ボタンからリダイレクトしたいと考えていました。リダイレクトを行うには、次のスクリプトを使用しました。ここでの残りの回答との違いは、ルーターにアクセスするにはアプリが必要だということです。私のシナリオのvueオブジェクトなので、コンソールで似たようなものを見てください:
var url = "/my-relative-path-url";
<button onclick="app.__vue__.$router.push(\'' + url + '\');">Click Me</button>