3.Vue列表展示

Vue.js实战案例
本文通过两个实例展示了Vue.js的基本用法,包括动态渲染电影列表及实现简易计数器功能,帮助读者快速上手Vue.js。
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://unpkg.com/vue/dist/vue.js"></script>
</head>

<body>
    <!-- 基本列表的演示 -->
    <div id="app">
        <ul>
            <li v-for='item in movies'>{{item}}</li>
        </ul>
    </div>
    <script>
        const app = new Vue({
            el: '#app',
            data: {
                message: 'hello!',
                movies: ['星际穿越', '大话西游', '少年派', '盗梦空间']
            }
        })
        app.movies.push('海王'); // app是一个对象,message和movies都是app的一个属性
    </script>
    <hr>

    <!-- 计数器案例 -->
    <div id="app2">
        <p>当前计数:{{counter}}</p>
        <button v-on:click='counter++'>+</button> <!-- v-on 监听事件-->
        <button v-on:click='decrease'>-</button> <!-- 执行函数的话不能加括号 -->
        <button @click='add2'>+2</button> <!-- @click是v-on的简写,又称为语法糖 -->
    </div>
    <script>
        const app2 = new Vue({
            el: '#app2',
            data: {
                counter: 0
            },
            methods: {
                decrease: function () {
                    this.counter--;  // 要使用this调用counter
                },
                add2:function(){
                    this.counter += 2; 
                }
            }
        })
    </script>
</body>

</html>

更多相关内容大家可以前往我的个人博客浏览:eyes++的个人空间

主题任务二:智能仪表盘 项目概述: 创建一个模拟的数据可视化仪表盘,展示统计数据、用户信息和任务列表,支持数据筛选和状态更新。 知识点覆盖与实现要求: 1.VUE3 项目创建流程 要求:使用 Vite 创建名为smart-dashboard的新项目,完成基础配置并运行。 2.Vue.js 开发基础 数据绑定:在Dashboard.vue中定义userInfo(用户信息)、stats(统计数据)、tasks(任务列表)等响应式数据。 内容渲染:用v-text显示用户名、统计数值;用{{ }}展示任务标题。 条件渲染:用v-if/v-else-if根据任务status(未开始 / 进行中 / 已完成)显示不同状态标签;用v-show控制 “数据筛选面板” 的显示。 列表渲染:用v-for遍历stats数组渲染统计卡片;遍历tasks数组渲染任务列表,结合:key确保唯一性。 3.Vue 组件的使用1 父向子传参: Dashboard.vue向StatCard.vue传递单个统计项(:data="stat",包含title、value、icon)。 Dashboard.vue向TaskList.vue传递任务列表(:tasks="filteredTasks")和筛选条件(:filter="statusFilter")。 子向父传参: TaskItem.vue的状态切换按钮点击时,通过$emit(&#39;update-status&#39;, task.id, newStatus)通知父组件更新任务状态。 FilterPanel.vue的筛选条件变化时,通过$emit(&#39;change-filter&#39;, value)传递新的筛选值。 跨级组件通信: 在Dashboard.vue中用provide(&#39;userInfo&#39;, userInfo)提供用户信息。 在Header.vue(嵌套在Layout.vue中)用inject(&#39;userInfo&#39;)接收并显示用户名。 引用组件:在Dashboard.vue中组合StatCard.vue、TaskList.vue、FilterPanel.vue等组件。 4.Vue 组件的使用2 动态组件: 创建ChartBar.vue(柱状图)、ChartPie.vue(饼图)组件。 在Dashboard.vue中用下拉菜单切换activeChart值,通过<component :is="activeChart" />动态渲染图表。 生命周期函数: Dashboard.vue中用onMounted模拟加载初始数据;ChartBar.vue中用onUpdated在数据变化时重新绘制图表。 插槽的使用: 创建Widget.vue组件,含#header(标题)和默认插槽(内容),统一仪表盘组件布局。 StatCard.vue和TaskList.vue均使用Widget.vue包裹,通过插槽传入内容。 自定义指令: 注册v-tooltip指令,实现鼠标悬停时显示提示文本(如统计数据的说明)。 在StatCard.vue的数值上应用v-tooltip="&#39;近7天数据&#39;"。
最新发布
09-27
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值