下面我将详细讲解使用Vue3进行数据绑定及显示列表数据的完整攻略。
步骤一:创建Vue对象
首先,需要使用createApp
方法创建Vue实例,并通过mount
方法将Vue实例挂载到页面上。示例代码如下:
```html
<div id="app">
<ul>
<li v-for="item in list" :key="item.id">{{ item.name }}</li>
</ul>
</div>
const app = Vue.createApp({
data() {
return {
list: [
{ id: 1, name: 'Apple' },
{ id: 2, name: 'Banana' },
{ id: 3, name: 'Orange' },
]
}
}
})
app.mount('#app')
在上述示例代码中,首先在HTML中定义了一个id为app
的div
,用于挂载Vue实例。在Vue实例的data
属性中定义了一个名为list
的数组,数组中包含了三个对象,每个对象分别包含了id和name两个属性。接下来,在ul
标签中使用v-for
指令遍历list
数组,并在li
标签中显示item.name
属性的值。
步骤二:动态绑定数据
在上述示例代码中,list
数组中的数据是静态的,即数据是硬编码在Vue实例中的。如果需要动态地从后台接口获取数据,需要使用Vue实例的生命周期钩子函数中的mounted
方法,在该方法中执行异步请求数据的操作。示例代码如下:
```html
<div id="app">
<ul>
<li v-for="item in list" :key="item.id">{{ item.name }}</li>
</ul>
</div>
const app = Vue.createApp({
data() {
return {
list: []
}
},
mounted() {
fetch('https://api.example.com/list')
.then(res => res.json())
.then(data => {
this.list = data
})
}
})
app.mount('#app')
在上述示例代码中,通过fetch
方法异步获取数据,并将数据赋值给list
数组。由于异步请求数据的过程是需要时间的,所以在Vue实例初始化时,list
数组是空数组。当数据加载完成后,list
数组中将存储后台接口返回的数据,数据将自动更新到页面上。
步骤三:显示加载状态
在异步请求数据的过程中,页面通常会需要显示加载状态,以提示用户数据正在加载中。可以通过在Vue实例中定义一个名为loading
的布尔类型变量来实现。示例代码如下:
```html
<div id="app">
<ul>
<li v-for="item in list" :key="item.id">{{ item.name }}</li>
</ul>
<div v-if="loading">Loading...</div>
</div>
const app = Vue.createApp({
data() {
return {
list: [],
loading: true
}
},
mounted() {
fetch('https://api.example.com/list')
.then(res => res.json())
.then(data => {
this.list = data
this.loading = false
})
}
})
app.mount('#app')
在上述示例代码中,首先在HTML中定义了一个div
元素,通过v-if
指令判断loading
变量为true
时才显示该元素,从而实现了加载状态的显示与隐藏。在Vue实例的mounted
方法中,首先将loading
变量初始化为true
,随后异步请求数据,当数据加载完成后将loading
变量设为false
,从而隐藏加载状态。
示例说明
以上是使用Vue3进行数据绑定及显示列表数据的完整攻略。下面给出两个示例说明。
示例一
在一个在线商城页面上,需要显示该商城的商品列表。可以通过使用Vue3动态绑定数据和显示列表数据的方式来实现。首先在Vue实例中定义一个名为goodsList
的数组,然后通过异步请求接口加载数据,将数据赋值给goodsList
数组,最后使用v-for
指令遍历goodsList
数组,渲染每一个商品的展示信息。示例代码如下:
```html
<div id="app">
<h2>商品列表<h2>
<ul>
<li v-for="item in goodsList" :key="item.id">
<div>{{ item.name }}</div>
<div>{{ item.price }}</div>
</li>
</ul>
<div v-if="loading">Loading...</div>
</div>
const app = Vue.createApp({
data() {
return {
goodsList: [],
loading: true
}
},
mounted() {
fetch('https://api.mall.com/goodsList')
.then(res => res.json())
.then(data => {
this.goodsList = data
this.loading = false
})
}
})
app.mount('#app')
在上述示例代码中,首先在HTML中定义了一个h2
元素,用于展示“商品列表”的标题。接下来使用v-for
指令遍历goodsList
数组,在li
元素中分别渲染每一个商品的名称和价格。最后,使用v-if
指令控制loading
变量为true
时显示“Loading...”,为false
时隐藏。
示例二
在一个社交网站页面上,需要显示该网站的用户列表。可以通过使用Vue3动态绑定数据和显示列表数据的方式来实现。首先在Vue实例中定义一个名为userList
的数组,然后通过异步请求接口加载数据,将数据赋值给userList
数组,最后使用v-for
指令遍历userList
数组,渲染每一个用户的个人信息。示例代码如下:
```html
<div id="app">
<h2>用户列表<h2>
<ul>
<li v-for="item in userList" :key="item.id">
<div>{{ item.name }}</div>
<div>{{ item.age }}</div>
<div>{{ item.gender }}</div>
</li>
</ul>
<div v-if="loading">Loading...</div>
</div>
const app = Vue.createApp({
data() {
return {
userList: [],
loading: true
}
},
mounted() {
fetch('https://api.social.com/userList')
.then(res => res.json())
.then(data => {
this.userList = data
this.loading = false
})
}
})
app.mount('#app')
在上述示例代码中,首先在HTML中定义了一个h2
元素,用于展示“用户列表”的标题。接下来使用v-for
指令遍历userList
数组,在li
元素中分别渲染每一个用户的名称、年龄和性别。最后,使用v-if
指令控制loading
变量为true
时显示“Loading...”,为false
时隐藏。
以上就是使用Vue3进行数据绑定及显示列表数据的完整攻略,希望能够帮助到你。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用Vue3进行数据绑定及显示列表数据 - Python技术站