DOM был обновлён из-за изменения данных. Но мне до сих пор не понятно, почему одна и та же функция вызывается огромное количество раз
methods: {
mapShops() {
ymaps.ready(init);
var myMap;
function init(){
var centerArray = [];
centerArray = [JSON.parse(localStorage.getItem('town')).lat, JSON.parse(localStorage.getItem('town')).long];
console.log('centerArray', centerArray);
myMap = new ymaps.Map("map", {
center: centerArray,
zoom: 15,
});
function setCenterFunc () {
myMap.setCenter(centerArray);
}
}
}
}
myMap = new ymaps.Map("map", {
center: centerArray,
zoom: 15,
});
myMap.setCenter(centerArray);
export default {
computed: {
seenGoods () { return this.$store.state.seenGoods.seenGoods },
},
created() {
this.$nextTick(function () {
const list = JSON.parse(localStorage.getItem('seenGoods')) || [];
this.$store.dispatch('seenGoods/fetchSeenGoods', list);
})
}
}
import Axios from 'axios'
export const state = () => ({
seenGoods: [],
})
export const actions = {
fetchSeenGoods (state) {
state.commit('setSeenGoods', JSON.parse(localStorage.getItem('seenGoods')))
},
}
export const mutations = {
setSeenGoods: (state, data) => {
state.seenGoods = Object.assign({}, data)
},
}
//
var list = JSON.parse(localStorage.getItem('seenGoods'));
if (list === null) {
list = [];
} else {
list
}
this.$store.dispatch('seenGoods/fetchSeenGoods')
town_id: JSON.parse(localStorage.getItem('town')).id,
не пропала <div v-if="$route.fullPath == '/' || localStorageNoEmpty">
<GreyBrands/>
</div>
<script>
data () {
return {
localStorageNoEmpty: true,
localStorage: {}
}
},
created: function () {
this.$nextTick(function () {
this.localStorage = JSON.parse(localStorage.getItem('town'));
this.localStorageNoEmpty = (this.localStorage !== null);
})
},
</script>
И в каждом компоненте есть параметр запроса к API "town_id"..
axios.get(api, {
params: {
town_id: JSON.parse(localStorage.getItem('town')).id
},
}).then((res) => {
this.brends = res.data.data;
var countItem = res.data.count_item;
this.numberOfPage = Math.ceil(countItem / lim);
})
queryParams.town_id = JSON.parse(localStorage.getItem('town')).id;
callApi ('brends', queryParams,'').then((res) => {
this.brends = res.data.data;
var countItem = res.data.count_item;
this.numberOfPage = Math.ceil(countItem / lim);
})