如何从Vue.js中的URL获取查询参数?

如何在Vue.js中获取查询参数?

E.g. http://somesite.com?test=yay.

Can’t find a way to fetch or do I need to use pure JS or some library for this?

小胖MandyGil2020/03/09 22:51:51

你可以使用vue-router,下面是一个例子:

网址: www.example.com?name=john&lastName=doe

new Vue({
  el: "#app",
  data: {
    name: '',
    lastName: ''
  },
  beforeRouteEnter(to, from, next) {
      if(Object.keys(to.query).length !== 0) { //if the url has query (?query)
        next(vm => {
         vm.name = to.query.name
         vm.lastName = to.query.lastName
       })
    }
    next()
  }
})

注意:beforeRouteEnter函数中我们无法访问组件的属性,例如:this.propertyName。这就是为什么我将vmto next函数传递vm它。这是访问vue实例的推荐方式。实际上,它代表vue实例

凯Sam2020/03/09 22:51:51

截至目前,正确的方法是(我不知道为什么更改了它们):

this.$route.params.yourProperty instead of this.$route.query.yourProperty

文件