Передача данных через страницы с помощью Vue

#ecmascript-6 #vue.js

#ecmascript-6 #vue.js

Вопрос:

Я получаю данные в функции, и этой функции необходимо загрузить новую страницу. Я делал это с помощью Jquery, используя метод .load(), Но мой метод vue выдает ошибку, в которой говорится, что не удается найти элемент на другой странице.Я считаю, что это мог бы быть лучший подход, но я не знаю, как я могу передавать данные через компонент vue

 static foo(a,b){
    $('#maindiv').load("/newPage");
    new Vue({
        el: '#newPageElem',
        data: {
            vueVar1:a
            vueVar2:b
        },

    });
}
  

Как я могу это сделать? Я считаю, что использование Jquery — не лучший способ добиться этого, но я не знаю, как изменить маршруты с помощью vue и передать параметр между ними.

Спасибо.

Комментарии:

1. Возможно, вы захотите взглянуть на Vue-router , который позволяет вам сопоставлять компоненты с маршрутами.

Ответ №1:

Вы можете взглянуть на vue-router здесь: http://router.vuejs.org/en/essentials/getting-started.html — это позволяет обрабатывать все маршруты на стороне клиента.

Для выполнения http-вызовов для получения данных с сервера вы можете использовать vue-resource (https://github.com/vuejs/vue-resource )

Лучше избегать смешивания jQuery с Vue, поскольку Vue отвечает за визуализацию DOM. Если вы внесете какие-либо изменения в DOM с помощью jQuery, они будут перезаписаны Vue в следующем обновлении DOM. Таким образом, вы в конечном итоге потратите много времени на отладку.

Кроме того, вы не можете создать экземпляр приложения Vue внутри функции, как показано в вашем примере кода, если вы не вызываете функцию при загрузке страницы. В идеале, первые несколько строк скрипта должны запускать приложение Vue.

Комментарии:

1. Итак, как бы я вызвал метод при загрузке страницы? Должен ли я создать тег script на HTML-странице?

2. Да, вы можете использовать тег script в нижней части html-страницы, для new Vue({..}) которого будет запущено приложение Vue и отображен DOM. Или вы можете проверить vue-cli , что может немного сбить с толку, если вы только начинаете.

3. @Mani Здорово, что вы указываете на проблемы примера кода, помимо ответа на вопрос, это полезно для нас, новичков в vue. Большое вам спасибо!