как установить несколько значений параметров запроса в router-link vue-router - PullRequest
0 голосов
/ 04 октября 2019

Используя vue-router <router-link>, я хочу перенаправить пользователя на путь, подобный так /projects/7363994/posts?t=apples+oranges&s=all.

Где t означает темы, а s означает источники (facebook,твиттер, форумы и т. д.)

, то есть для проекта 7363994, ищите сообщения, темы которых включают apples и oranges и из all источников. /projects/:id/posts конечная точка, компонент сначала проверит эти параметры и выполнит запросы к API для данных в соответствии со значениями этих параметров.

это то, что я пробовал:

<router-link 
    :to='{
        path: `posts`, 
        query: { 
            t: "apple+orange",
            s: `all`
        }
    }'
    append
>
</router-link>

, которыйдает мне /projects/7363994/posts?t=apples%2Boranges&s=all.

Я ожидал, что ссылка будет отображаться как: /projects/7363994/posts?t=apples+oranges&s=all

, но вместо этого он показывает: /projects/7363994/posts?t=apples%2Boranges&s=all

заметить, чтоСимвол + заменен на %2B

Почему это так? я должен совершить побег?


тоже пробовал это:

<router-link 
    :to='{
        path: `posts`, 
        query: { 
            t: ["apple", "orange"],
            s: `all`
        }
    }'
    append
>
</router-link>

дает мне /projects/7363994/posts?t=apples&t=oranges&s=all


Я пытался сбежать + Символ, но это, похоже, не работает.

Кто-нибудь знает, как это работает? vue-router позволяет ли это даже начинаться?

спасибо!

1 Ответ

0 голосов
/ 04 октября 2019

URL-адрес закодирован, поэтому на стороне сервера необходимо декодировать URL-адрес для его работы

. При установке значения используйте

decodeURIComponent(t)

. закодированный URL для декодирования одного

...