我是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
。
请帮忙!!!
答案 0 :(得分:0)
也许这会有所帮助:
<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字段以优化插入,删除等操作。
您也可以将自己的姓名置于状态,并通过在监视功能中添加人员来对更改做出反应。
您可能还想深入了解组件内部。该代码尚未发布。