vue 報錯:Cannot read property 'xxx' of undefined",但是頁面能渲染上資料
阿新 • • 發佈:2019-01-01
有時候會遇到給頁面繫結資料的時候,可以繫結成功,但vue warn:xxx屬性of undefined,,,如果本元件只是繫結簡單的資料倒是可以忽略,如果本元件還引入了其他元件或第三方元件,外掛,則就渲染不出來,就需要解決了,
<template> ... <span>{{data.xxx.xx}}</span> ... </template> <script> export default { data () { return { data: { xxxx:"" } }; }, methods: { .....請求到資料賦給data.xxxx; } created () { this.getData(); } }; </script>
頁面上能渲染成功,但是vue仍然警告資料屬性undefined,,
因為是非同步請求,頁面渲染剛開始的時候還沒有拿到這個值,所以會報錯。你需要在節點上用if判斷一下,在有資料的時候再進行渲染。
<template>
...
<span v-if="data.xxx&& data.xxx.xx">{{data.xxx.xx}}</span>
...
</template>
或者你在宣告data的時候,將裡面的欄位也一併宣告出來,往下多宣告一下資料。
參考https://www.cnblogs.com/huancheng/p/9188287.html