将类传递给Vuejs中的道具

时间:2018-08-07 02:17:09

标签: javascript vuejs2

我是Vue的新手。我最近需要将一个类作为道具传递给组件。如下:

<my-component v-for="(name, index) in Names" :key="'name-' + index " :person="new Person(name)"></my-component>

人员如下:

class Person {
 constructor(name) {
   this.name = name
 }
}

名称是来自服务器的数据。 问题是当我使用this.$props.person.name = 'Ken'更新名称时, 不会改变。我查看了$props.person,但错过了__ob__: Observer。 请帮忙!!!

1 个答案:

答案 0 :(得分:0)

也许这会有所帮助:

  1. 添加人员:[]加入您的州
  2. 在v-for中使用人员数组
  3. 使用名称将新成员推送或拼接到数组中

<my-component v-for="(person, index) in persons" :key="'name-' + index " :person="person"></my-component>

this.names.forEach(name=>this.persons.push(new Person(name));

其他东西...

如果您的姓名对人是唯一的,请在您的姓名中使用该姓名而不是索引,甚至更好的做法是,向人添加id字段以优化插入,删除等操作。

您也可以将自己的姓名置于状态,并通过在监视功能中添加人员来对更改做出反应。

您可能还想深入了解组件内部。该代码尚未发布。