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

时间:2017-03-02 08:28:59

标签: vuejs2 vue-component vue.js

我使用以下代码显示传递值'类别'的组件。类别根据用户交互而变化。但是,一旦加载了一个组件,其数据就不会根据道具的变化而改变。

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

data() {
    return {
      selected: 'test'
    }
  }

1 个答案:

答案 0 :(得分:4)

您必须在category组件的popup上加watcher,如下所示:

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