web-dev-qa-db-ja.com

Vue2はlocation.hrefで外部URLに移動します

Router.go、router.Push、router.replace、window.location.hrefを使用して「www.mytargeturl.org」にアクセスしてvuejsアプリをリダイレクトしようとしましたが、常にmyVueapp.com/www.mytargeturl.orgを取得しますルート:

  routes:[
{path: '/', component: App,
  children:[
    {
      path: 'detail',
      component: ItemDetail,
      props: true
    },
    {
      path: 'search',
      component: Middle
    }       
  ]
},   
{
  path: '/test', component: Test
},
{ path: '/a', redirect: 'www.mytargeturl.org' } // also tried this but didnt work

]

13
codely

コメントの人々と合意した。 Vueの哲学は、すでに解決された問題を解決することではありません。こっちも一緒。可能な限り、リンクには通常のaタグを使用してください。ただし、ルーターを通過する必要がある場合は、 Navigation Guards を使用します

{
    path: '/a',
    beforeEnter(to, from, next) {
        // Put the full page url including the protocol http(s) below
        window.location = "http://example.com"
    }
}
22
damienix

ソリューションを見つけました。ターゲットURLにhttpを追加することで、すべてうまくいきました!このような window.location = 'http://mytargeturl.org"

これは、単なるvueではなく、普遍的なjavascriptの真実のようです。

8
codely