web-dev-qa-db-fra.com

Vue2 naviguez vers l'url externe avec location.href

J'ai essayé d'aller sur 'www.mytargeturl.org' en utilisant router.go, router.Push, router.replace et window.location.href pour rediriger mon application vuejs mais j'obtiens toujours myVueapp.com/www.mytargeturl.org Voici mon route:

  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

D'accord avec les gens dans les commentaires. La philosophie de Vue n'est pas de résoudre des problèmes déjà résolus. Pareil ici. Utilisez simplement la balise a ordinaire pour le lien dans la mesure du possible. Si vous devez passer par le routeur, utilisez 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

J'ai trouvé la solution. En ajoutant http dans mon URL cible, tout va bien! Comme ça window.location = 'http://mytargeturl.org"

Cela semble être une vérité javascript universelle, pas seulement une vue.

8
codely