运行此命令时出现错误:“未捕获的TypeError:this.thePerson不是函数”:

var myApp = new Vue({
    el: "#app",
    data: {
        person: [this.thePerson()]
    },
    methods: {
        thePerson: function() {
            return {
                personNickname: "Bob",
                personOwes: 0,
                paymentType: {
                    card: true,
                    cash: false
                }
            };
        }
    }
});


我不知道为什么!

附言我意识到这看起来很奇怪,但是我使用函数返回数组内容是有原因的...

最佳答案

您是否尝试通过Vue的创建方法分配人员值?

根据您的示例:

    var myApp = new Vue({
  el: "#app",
  data: {
      person: []
  },
  methods: {
      thePerson: function() {
          return {
              personNickname: "Bob",
              personOwes: 0,
              paymentType: {
                  card: true,
                  cash: false
              }
          };
      }
  },
  created(){
    this.person.push(this.thePerson())
  }
});

07-26 03:31