开发者问题收集

vue js 中渲染时出错:“TypeError: 无法将未定义或空转换为对象”?

2021-02-02
3128

一切正常,我也得到了数据,但我得到了这个 javascript 错误。

我有以下 网络请求

    data: {
    patient: null
    }
    methods: {
    
    
    //call methods to add patients
    setPatient(patient) {
          this.patient = patient;
        },
      }
//network request in navigation guard
  async beforeRouteEnter(to, from, next) {
    await axios
      .post(route("api.patient.ids"), { ids: [to.params.id] })
      .then((res) => {
        if (res.data.length) {
          next((vm) => {
            // console.log(typeof res.data[0]);
            vm.setPatient(res.data[0]);
          });
        }
      });
  },

chrome dev tool error

有人可以解释一下是什么导致了这个问题?

1个回答

在任何需要 patient 为对象的模板元素上放置 v-if="patient" 。您的 patient 最初为 null ,直到 API 调用返回并提交它。

对于您的情况:

<health-condition v-if="patient"
                  :patient="patient"
                  @openForm="toggleFormTable" />
tao
2021-02-03