В этот файл я экспортирую пропсы firstWindow, secondWindow, но существую какие-то проблемы именно с secondWindow.
<template>
<div class = "row__elements">
<div @click="event =>clickOnRow(elem, whichScreen, firstWindow, secondWindow)" class = "row__element">
<div class = "file-info"> </div>
<div class = "file-info title"> {{elem.fileName}} </div>
<div class = "file-info size"> {{elem.sizeOrType}} </div>
<div class = "file-info date"> {{elem.dateOfChange}} </div>
<div class = "file-info date"> {{whichScreen}} </div>
<div class = "file-info date"> {{elem.dir}} </div>
</div>
</div>
</template>
<script>
export default {
props:{
elem:{
type:Object,
default: () => ({}),
required: true,
},
whichScreen:{
type:Boolean,
default: false,
},
firstWindow:{
type:Object,
default: () => ({}),
},
secondWindow:{
type:Object,
default: () => ({}),
},
},
data()
{
return{
delay: 500,
clicks: 0,
timer: null,
helper:[],
}
},
methods:{
clickOnRow: function(elem, whichScreen, firstWindow, secondWindow){
this.clicks++
if(this.clicks === 1) {
var self = this
this.timer = setTimeout(function() {
console.log("одинарный");
self.clicks = 0
}, this.delay);
} else{
clearTimeout(this.timer);
console.log("двойной");
elem['whichScreen'] = whichScreen;
console.log(elem);
this.helper = fetch('/currentDir1',{
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(elem)
})
if(whichScreen){
firstWindow = this.helper;
secondWindow = this.secondWindow;
}else{
secondWindow = this.helper;
firstWindow = this.firstWindow;
}
this.clicks = 0;
}
}
},
}
</script>
я подозреваю, что это может происхоидть из-за того, что я использую этот компонент дважды и отправляю ему различные значения. См нижне
<template>
<div class = "main-window">
<ul>
<Directoire
v-bind:directories="directories"
/>
<span>{{firstDir}}</span>
<Item
v-for="elem of firstWindow.table"
v-bind:key="elem"
v-bind:elem="elem"
v-bind:whichScreen="whichScreen"
v-bind:firstWindow="firstWindow"
v-bind:secondWindow="secondWindow"
/>
</ul>
<ul>
<Directoire
v-bind:directories="directories"
/>
<span>{{secondDir}}</span>
<Item
v-for="elem of secondWindow.table"
v-bind:key="elem"
v-bind:elem="elem"
v-bind:whichScreen="!whichScreen"
v-bind:firstWindow="firstWindow"
v-bind:secondWindow="secondWindow"
/>
</ul>
</div>
</template>
<script>
import Item from '@/components/itemVue.vue'
import Directoire from '@/components/DirectoriesVue.vue'
export default {
props: ['firstWindow','secondWindow', 'directories', 'firstDir', 'secondDir', 'whichScreen'],
components:{
Item,
Directoire
}
}
</script>
Подскажите как исправить это, буду очень благодарен!