В настоящее время я использую vue -router для управления отличиями Vue моего проекта.
My main. js
import Vue from 'vue'
import App from './App.vue'
import jQuery from 'jquery'
import 'bootstrap'
import 'bootstrap/dist/css/bootstrap.css'
global.jQuery = jQuery
global.$ = jQuery
import './assets/css/animate.css'
import router from './router'
import store from './vuex'
Vue.config.productionTip = false
new Vue({
store,
router,
render: h => h(App)
}).$mount('#app')
Когда я нахожусь На моей приборной панели ('/ dashboard') в первый раз вызываются "созданные" методы. Данные извлекаются из API и отображаются в моем массиве.
После этого я нажимаю на один элемент моего массива, который направляет меня к «/ details /: id» (с id id моего элемента). Все работает хорошо, и затем я нажимаю кнопку «Go назад».
Я снова заканчиваю sh на своей странице панели инструментов, я вижу, что методы 'create' вызываются снова, данные хорошо извлекаются из API, но ничего не отображается, и мой массив остается пустым.
Я действительно не понимаю, почему.
Есть код функции 'create' :
export default {
created: function() {
console.log('created => dashboard');
let store = this.$store;
let q = this.rows;
//get rows
if (store.state.socket.io._callbacks["$rows"] == undefined) {
console.log("Binding rows");
//Where I receive the rows from API
store.state.socket.io.on("rows", data => {
console.log("rows reponse:", data);
if (data.success) {
this.nbrItems = data.rows.length;
q.splice(0, q.length); //Clean the array without replacing the instance
data.rows.map(a => q.push(a));
console.log("Queue length: " + q.length);
}
});
}
//get the queue
this.refresh(); // This send a request to the API to ask it to send us back the datas
},
И я использую this.$router.go(-1)
, чтобы вернуться назад на страницу '/ dashboard'.
Редактировать: Есть ли проблема состояния или что-то в этом роде? Я не понимаю, почему, потому что в памяти я могу получить доступ ко всем данным, просто больше нет привязки ...