Я очень новичок в Vue.js, и мы работаем над добавлением Vue.js в существующий проект по частям.Я работаю над переписыванием слайдера продукта в Vue.В настоящее время используется слайдер jquery Slick.Таким образом, в текущем / старом коде в html эта функция js вызывается:
function productDetailsRecommendations(compositeNumbers) {
var params = {
compositeNumbers: compositeNumbers,
strategy: 'pp12',
backupStrategy: 'popular',
divId: 'recommendedProductsHorizontal',
isVertical: false,
isHideHeaderText: false,
headerText: 'Guests Who Viewed This Item Also Viewed These',
backupHeaderText: 'Popular Products',
itemsPerPage: 5,
itemDisplayLimit: 10,
numberOfItems: 15,
responseMap: null
};
createSlider(params);
}
Теперь я использую vue-carousel для воссоздания слайдера.Поэтому я заменил этот вызов своей собственной скопированной функцией: productDetailsRecommendationsVue
.
Теперь я создал ProductRecommendationsSlider.vue
в качестве компонента слайдера.И у меня есть index.js
в качестве точки входа, где ползунок инициализируется.
Теперь мой босс сказал мне, что мне нужно поместить функцию productDetailsRecommendationsVue
в index.js
.
// index.js
import Vue from 'vue';
import axios from 'axios';
import VueCarousel from 'vue-carousel';
import Slider from '/components/slider/ProductRecommendationsSlider'
Vue.use(VueCarousel);
window.productDetailsRecommendationsVue=function(compositeNumbers) {
var params = {
compositeNumbers: compositeNumbers,
strategy: 'pp12',
backupStrategy: 'popular',
divId: 'recommendedProductsHorizontal',
isVertical: false,
isHideHeaderText: false,
headerText: 'Guests Who Viewed This Item Also Viewed These',
backupHeaderText: 'Popular Products',
itemsPerPage: 5,
itemDisplayLimit: 10,
numberOfItems: 15,
responseMap: null
};
};
/* eslint-disable no-new */
new Vue({
el: '#itemDetailPage #recommendedProductsHorizontal .imageSlider',
components: {
Slider,
'carousel': VueCarousel.Carousel,
'slide': VueCarousel.Slide
},
template: '<product-slider></product-slider>'
});
Но мой главный вопрос - как мне передать эти параметры в компонент?
Они необходимы в одной из функций в ProductRecommendationsSlider.vue
.Мой босс сказал, что я на правильном пути, поместив функцию js в index.js
.Все учебники, которые я нашел в Интернете, рассказывают о создании проекта с нуля.Ввязать Vue в существующий проект намного сложнее IMO.