Vue入门——v-for指令

文章目录

  • 概要
  • 指令的用用法
  • 案例
  • 完整代码
  • 小结

概要

v-for指令是一个用于循环的指令,在vue里面十分常用,我们今天就来学习一下这个指令的用法

指令的用用法

作用:列表渲染,遍历容器的元素或者对象的属性
语法:v-for = "(item,index) in items "

  • 参数说明:
    - items 为遍历的数组
    - item 为遍历出来的元素
    - index 为索引,从0开始;可以省略 v-for = " item in items"
  • 使用:
    - 使用插值表达式显示内容

注意:遍历数组时,必须在data中定义;要想让哪个标签循环多次,就在哪个标签上使用v-for指令

案例

我给出一段html模板代码,数据已经提供好了,接下来我们要将数据渲染到页面上去

DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Documenttitle>
head>

<body>

    <div id="app">
        <table border="1 solid" colspa="0" cellspacing="0">
            <tr>
                <th>文章标题th>
                <th>分类th>
                <th>发表时间th>
                <th>状态th>
                <th>操作th>
            tr>
            <tr>
                <td>标题1td>
                <td>分类1td>
                <td>2000-01-01td>
                <td>已发布td>
                <td>
                    <button>编辑button>
                    <button>删除button>
                td>
            tr>
            <tr>
                <td>标题2td>
                <td>分类2td>
                <td>2000-01-01td>
                <td>已发布td>
                <td>
                    <button>编辑button>
                    <button>删除button>
                td>
            tr>
            <tr>
                <td>标题3td>
                <td>分类3td>
                <td>2000-01-01td>
                <td>已发布td>
                <td>
                    <button>编辑button>
                    <button>删除button>
                td>
            tr>
        table>
    div>

    <script type="module">
        //导入vue模块
        import { createApp } from
            'https://unpkg.com/vue@3/dist/vue.esm-browser.js'
        //创建应用实例
        createApp({
            data() {
                return {
                    articleList: [
                        {
                            title: "医疗反腐绝非砍医护收入",
                            category: "时事",
                            time: "2023-09-5",
                            state: "已发布"
                        },
                        {
                            title: "中国男篮缘何一败涂地?",
                            category: "篮球",
                            time: "2023-09-5",
                            state: "草稿"
                        },
                        {
                            title: "华山景区已受大风影响阵风达7-8级,未来24小时将持续",
                            category: "旅游",
                            time: "2023-09-5",
                            state: "已发布"
                        }
                    ]
                }
            }
        }).mount("#app")//控制页面元素
    script>
body>

html>

我们先运行一下看看是什么效果,可以看到里面的内容都是写死了的,我们需要把提供的数据展示上去,就要使用v-for标签

Vue入门——v-for指令_第1张图片

在要循环的指令上使用v-for,我们要循环每一行数据,所以要在tr标签上使用,然后删除其余的tr标签即可

<tr v-for="(article,index) in articleList">
                <td>{{article.title}}td>
                <td>{{article.category}}td>
                <td>{{article.time}}td>
                <td>{{article.state}}td>
                <td>
                    <button>编辑button>
                    <button>删除button>
                td>
            tr>

然后我们再次运行即可看到结果

Vue入门——v-for指令_第2张图片

完整代码

DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Documenttitle>
head>

<body>

    <div id="app">
        <table border="1 solid" colspa="0" cellspacing="0">
            <tr>
                <th>文章标题th>
                <th>分类th>
                <th>发表时间th>
                <th>状态th>
                <th>操作th>
            tr>
            <tr v-for="(article,index) in articleList">
                <td>{{article.title}}td>
                <td>{{article.category}}td>
                <td>{{article.time}}td>
                <td>{{article.state}}td>
                <td>
                    <button>编辑button>
                    <button>删除button>
                td>
            tr>
           
        table>
    div>

    <script type="module">
        //导入vue模块
        import { createApp } from
            'https://unpkg.com/vue@3/dist/vue.esm-browser.js'
        //创建应用实例
        createApp({
            data() {
                return {
                    articleList: [
                        {
                            title: "医疗反腐绝非砍医护收入",
                            category: "时事",
                            time: "2023-09-5",
                            state: "已发布"
                        },
                        {
                            title: "中国男篮缘何一败涂地?",
                            category: "篮球",
                            time: "2023-09-5",
                            state: "草稿"
                        },
                        {
                            title: "华山景区已受大风影响阵风达7-8级,未来24小时将持续",
                            category: "旅游",
                            time: "2023-09-5",
                            state: "已发布"
                        }
                    ]
                }
            }
        }).mount("#app")//控制页面元素
    script>
body>

html>

小结

本文学习了如何使用v-for标签遍历一个列表并展示到网页上,主要就是两点

  • v-for的语法规则
  • 使用插值表达式来获取值

这在项目中十分常用,所以一定要多练习。

你可能感兴趣的:(Vue,vue.js,javascript,ecmascript)