【发布时间】:2021-06-12 04:32:08
【问题描述】:
我正在使用 vue.js 浏览 Rick & Morty 系列应用的角色,我是 vue.js 的新手。
但是我遇到了下面提到的错误,请帮我解决这个问题
Error1:[Vue 警告]:属性或方法“列表”未在实例上定义,但在渲染期间被引用。通过初始化该属性,确保该属性在数据选项或基于类的组件中是反应性的。
// App.vue file //
<template>
<div id="app">
<Nav />
<CharactersList />
</div>
</template>
<script>
import Nav from './components/Nav.vue'
import CharactersList from './components/CharactersList'
export default {
name: 'App',
components: {
Nav,
CharactersList
}
}
</script>
// CharactersList.vue file //
<template>
<div>
<h1>Rick and Morty characters</h1>
<table border="1px">
<tr>
<td>Character ID</td>
<td>Name</td>
<td>Species</td>
<td>Add to fav</td>
</tr>
<tr v-for="item in list" v-bind:key="item.id">
<td>{{item.id}}</td>
<td>{{item.name}}}}</td>
<td>{{item.species}}</td>
<button>Add to fav</button>
</tr>
</table>
</div>
</template>
<script>
import Vue from 'vue'
import axios from 'axios'
import VueAxios from 'vue-axios'
Vue.use(VueAxios, axios)
export default {
name: 'CharactersList',
data: function () {
return {
list: undefined
}
},
mounted () {
Vue.axios.get('https://rickandmortyapi.com/api/character/')
.then((resp) => {
debugger
this.list = resp.data.results
})
}
}
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
【问题讨论】:
-
如果你把
list: undefined改成list: []呢? -
@weronika 解决了吗?
-
谢谢,yaaas ????– 终于可以正常工作了!
标签: javascript typescript api vue.js