¿Cómo puedo obtener los parámetros de consulta en Vue.js?
Por ej http://somesite.com?test=yay
.
¿No puedo encontrar una manera de buscar o necesito usar JS puro o alguna biblioteca para esto?
¿Cómo puedo obtener los parámetros de consulta en Vue.js?
Por ej http://somesite.com?test=yay
.
¿No puedo encontrar una manera de buscar o necesito usar JS puro o alguna biblioteca para esto?
Respuestas:
De acuerdo con los documentos del objeto de ruta , tiene acceso a un
$route
objeto desde sus componentes, que exponen lo que necesita. En este casofuente
vue-router
esto sería un duplicado, ya que necesitará usar métodos JS estándar.vue-router
etiqueta y la agregué.return next({ name: 'login', query:{param1: "foo" }, });
no funciona. dentro del componente de inicio de sesión, el accesorioparam1
no está definido.Sin vue-route, divida la URL
Otra solución https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/search :
fuente
location.href
cuando haylocation.search
fácilmente disponible? developer.mozilla.org/en-US/docs/Web/API/… p.ej.var querypairs = window.location.search.substr(1).split('&');
También dividir los pares de nombre-valor de consulta por '=' no siempre funcionará, ya que también puede pasar parámetros de consulta con nombre sin valor; Por ejemplo,?par1=15&par2
su código ahora generaría una excepción en par2 ya que la división por '=' dará como resultado tmp con solo 1 elemento.undefined
agetVars['par2']
.Respuesta más detallada para ayudar a los novatos de VueJS:
Y el código en sí:
fuente
<script src="https://unpkg.com/vue-router"></script>
new Vue({ router, ... })
No es una sintaxis válida.Otra forma (suponiendo que esté usando
vue-router
), es asignar el parámetro de consulta a un accesorio en su enrutador. Entonces puedes tratarlo como cualquier otro accesorio en tu código de componente. Por ejemplo, agregue esta ruta;Luego, en su componente, puede agregar el accesorio normalmente;
Luego estará disponible como
this.foo
y puede hacer lo que quiera con él (como configurar un observador, etc.)fuente
A partir de esta fecha, la forma correcta de acuerdo con los documentos de enrutamiento dinámico es:
en vez de
fuente
query
para obtener las consultas de la URL. De los documentos: además de $ route.params, el objeto $ route también expone otra información útil como $ route.query (si hay una consulta en la URL)url:
www.example.com?name=john&lastName=doe
Nota: en la
beforeRouteEnter
función no podemos acceder a las propiedades del componente como:.this.propertyName
Es por eso que he pasadovm
a lanext
función. Es la forma recomendada de acceder a la instancia de vue. Envm
realidad, es la instancia de vue.fuente
Si tu url se parece a esto:
Donde '123' es un parámetro llamado 'id' (url like / something /: id), intente con:
fuente
Puede obtener mediante el uso de esta función.
fuente
Si su servidor usa php, puede hacer esto:
Solo funciona
fuente