在v-for中绑定ajax数据对象

时间:2017-05-30 10:23:22

标签: javascript vue.js

我有一个ajax调用,它从服务器检索一个对象数组,它们是复合对象,例如:

var Person = Vue.extend({
   template: "#template_box_person",
   props: {
       name: {
           default: "unnamed"
       },
       address: {
           type: Object,
           default: function() {
                return {
                     city:"",
                     zip:""
                }
            }
        }
    }
}

我用html中的v-for将它们绑定到组件:

<box_person
   v-for="person in persons"
   :name=person.name
   :address.city = person.address.city
   :address.zip = person.address.zip
></box_person>

但它不起作用,它只像往常一样绑定名称,但我无法绑定Person的Address对象。我怎么能绑定一个同时属于v-for?

中的对象的属性

1 个答案:

答案 0 :(得分:1)

您无法在道具选项中使用。您应该立即传递完整对象而不是按值传递值。

<box_person
   v-for="person in persons"
   :name=person.name
   :address = person.address
></box_person>