Требуется перерисовывать компонент каждый раз, когда приходят новые данные, как реализовать?
Значит уже что-то не так. Не должно такого требоваться. Компонент должен перерисовываться сам на основании данных, когда это действительно нужно.
this.firstWindow = Object.assign({}, this.firstWindow, data);
Это вы добавляете объект в data? Не надо так делать - вы теряете реактивность.
Положите этот объект в другой (на уровень ниже) и сделайте так:
methods:{
newvalue(data, whichScreen){
if(whichScreen){
console.log("попал");
console.log(data);
Vue.set(this.windows, 'firstWindow', Object.assign({}, this.firstWindow, data));
}else{
Vue.set(this.windows, 'secondWindow', Object.assign({}, this.secondWindow, data));
}
}
}
Сответственно у вас теперь будет this.windows.secondWindow вместо this.secondWindow