Реактивность на Vue? Как обновить компонент?

Получаю данные с сервера. Требуется перерисовывать компонент каждый раз, когда приходят новые данные, как реализовать? В чем ошибка? подскажите пожалуйста

data(){
    return {
      firstWindow:[],
      secondWindow:[],
      objForChangeValue:[],
      directories:["C:","E:","D:"],
      firstDir:"C:",
      secondDir:"C:",
      whichScreen: true,
      flagForBack: true      
    }
  },
methods:{
      newvalue(data, whichScreen){        
         if(whichScreen){ 
           console.log("попал");
           console.log(data);         
           this.firstWindow = Object.assign({}, this.firstWindow, data);
          
         }else{          
           this.secondWindow = Object.assign({}, this.secondWindow, data);          
         }
      }
  }

компонент

<template>
    <div class = "main-window">
        <ul >    
            <Directoire
             v-bind:directories="directories"
            />
            <span>{{firstDir}}</span> 
            <BackRowVue
            v-if="flagForBack"
            v-bind:whichScreen="whichScreen"
            />            
            <div  class = "back-block"> BACK </div>                             
            <Item           
            v-for="elem of firstWindow"
            v-bind:key="elem"
            v-bind:elem="elem"
            v-bind:whichScreen="whichScreen"
            v-bind:firstWindow="firstWindow"
            v-bind:secondWindow="secondWindow"
            @newvalue="newvalue"
            />
        </ul>
        <ul @newValue="newvalue"> 
            <Directoire
              v-bind:directories="directories"
             /> 
              
            <span>{{secondDir}}</span>
            <BackRowVue
                v-if="flagForBack"
                v-bind:whichScreen="!whichScreen"
             />
              <div  class = "back-block"> BACK </div>             
             <Item
            v-for="elem of secondWindow"
            v-bind:key="elem"
            v-bind:elem="elem"
            v-bind:whichScreen="!whichScreen"
            v-bind:firstWindow="firstWindow"
            v-bind:secondWindow="secondWindow"
            />   
        </ul>      
        
    </div>
</template>

компонент Item

<template>
    <div class = "row__elements">
       <div @click="event =>clickOnRow(elem, whichScreen)" class = "row__element">           
           <div class = "file-info icon">  </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>

Ответы (0 шт):