Vuejs2 在VueJS中更改道具时重新加载组件

Vuejs2 在VueJS中更改道具时重新加载组件,vuejs2,vue-component,vue.js,Vuejs2,Vue Component,Vue.js,我使用下面的代码来显示一个传递值“category”的组件。类别将根据用户交互进行更改。但是,组件加载后,其数据不会根据道具的更改而更改 <button @click="selected='new'">Change</button> <popup :category="selected"></popup> data() { return { selected: 'test' } } 更改 数据(){ 返回{ 选定

我使用下面的代码来显示一个传递值“category”的组件。类别将根据用户交互进行更改。但是,组件加载后,其数据不会根据道具的更改而更改

<button @click="selected='new'">Change</button>
<popup :category="selected"></popup>

data() {
    return {
      selected: 'test'
    }
  }
更改
数据(){
返回{
选定:“测试”
}
}
您必须在
弹出窗口
组件中设置一个
类别
,如下所示:

watch: {
  category: function(newVal){
    this.selected = newVal   // or this.openPopup(newVal) is this suits
  }
}

不,单击按钮时会调用openPop函数。您如何将
类别
传递给它,watcher是否有帮助?@GijoVarghese是的,您必须将此手表添加到
弹出
组件中,如果它不起作用,您是否也可以添加
弹出
组件的代码。哦,该代码在组件中,让我试试