vuejs:我怎样才能让我的数据对道具变化作出反应?

时间:2018-05-04 08:07:29

标签: vue.js

我有基本的vue道具和数据:

props: ['person', 'type']
data() {
  return {
    offer: {
      type: 'basic',
      person: 'nurse',
      ...

如何让我的数据对道具变化作出反应?例如,如果道具person'physican'我想要我的数据offer.person = 'physician'。另外,如果props值为空,我希望默认值为offer.person

最简单的方法是如何实现这一目标的?我试过计算机的观察者,但似乎都没有。

编辑: 我写了这样的话:

  basicComputed(){
    this.offer.person = this.person
    this.offer.type = this.type      
  },

然后在模板中:

<template>
  <div>
     {{basicComputed}}
  </div>
</template>

它有效,但似乎它不是一个完美的解决方案。有没有更好的方法呢?

1 个答案:

答案 0 :(得分:1)

只需将道具更改为对象,即可使用默认值

props: {
  person: {
    default: "some role"
  },
  type: {
    default: "basic"
  }
}

https://vuejs.org/v2/guide/components-props.html#Prop-Validation