Vue动手实践p110和p107小试牛刀

2023-11-06 11:04

本文主要是介绍Vue动手实践p110和p107小试牛刀,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、小试牛刀

真的很不好意思诸位,最近事情有点多,更新进度缓慢了,这次就简单的再复习一下vue组件的内容,大家可以自行研究一下,我就不深入解析了。

<body>
<div id="app"><button @click="Cmop">切换组件</button><p></p><component :is="current" :name="name[current]" :color="color[current]" @change="change"><template slot="content">{{name[current]}}</template></component>
</div>
<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.7.0/vue.js"></script>
<script>Vue.component('my-component-one',{template:`<div><div style="line-height: 2.6;" :style="{background: color}"><slot name="content"></slot><button @click="$emit('change',name)">回传事件</button></div></div>`,props:{name:String,color:String}});Vue.component('my-component-two',{template:`<div><div style="line-height: 2.4;" :style="{background: color}"><slot name="content"></slot><button @click="$emit('change',name)">回传事件</button></div></div>`,props:{name:String,color:String}});new Vue({el:'#app',data: {current: 'my-component-one',name: {'my-component-one': '我是组件一','my-component-two': '我是组件二'},color: {'my-component-one': 'yellow','my-component-two': 'red'},},methods: {change(value) {alert(value)},Cmop() {if (this.current === 'my-component-one') {this.current = 'my-component-two'} else {this.current = 'my-component-one'}}}})
</script>
</body>

效果


在这里插入图片描述

二、动手实践

<body>
<div id="app"><!-- 组件使用者只需传递users数据即可 --><my-stripe-list :items="users" odd-bgcolor="#D3DCE6" even-bgcolor="#E5E9F2" @change="change"><!-- props对象接收来自子组件slot的$index参数 --><template slot="cont" slot-scope="props"><span>{{users[props.$index].id}}</span><span>{{users[props.$index].name}}</span><span>{{users[props.$index].age}}</span><!-- 这里可以自定[编辑][删除]按钮的链接和样式 --><a :href="'#edit/id='+users[props.$index].id">编辑</a><a :href="'#del/id='+users[props.$index].id">删除</a></template></my-stripe-list>
</div>
<script>Vue.component('my-stripe-list', {/*slot的$index可以传递到父组件中*/template: `<div><div v-for="(item, index) in items" style="line-height:2.2;" :style="index % 2 === 0 ? 'background:'+oddBgcolor : 'background:'+evenBgcolor"><slot name="cont" :$index="index"></slot><button @click="$emit('change', item)">弹出名字和年龄</button></div></div>`,props: {items: Array,oddBgcolor: String,evenBgcolor: String}});new Vue({el: '#app',data: {users: [{id: 1, name: '张三', age: 20},{id: 2, name: '李四', age: 22},{id: 3, name: '王五', age: 27},{id: 4, name: '张龙', age: 27},{id: 5, name: '赵虎', age: 27}]},methods: {change(value) {alert(`姓名:${value.name}, 年龄:${value.age}`)}}});
</script>
</body>

效果

在这里插入图片描述

这篇关于Vue动手实践p110和p107小试牛刀的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/356237

相关文章

HTML5的input标签的`type`属性值详解和代码示例

《HTML5的input标签的`type`属性值详解和代码示例》HTML5的`input`标签提供了多种`type`属性值,用于创建不同类型的输入控件,满足用户输入的多样化需求,从文本输入、密码输入、... 目录一、引言二、文本类输入类型2.1 text2.2 password2.3 textarea(严格

SpringBoot简单整合ElasticSearch实践

《SpringBoot简单整合ElasticSearch实践》Elasticsearch支持结构化和非结构化数据检索,通过索引创建和倒排索引文档,提高搜索效率,它基于Lucene封装,分为索引库、类型... 目录一:ElasticSearch支持对结构化和非结构化的数据进行检索二:ES的核心概念Index:

Python数据验证神器Pydantic库的使用和实践中的避坑指南

《Python数据验证神器Pydantic库的使用和实践中的避坑指南》Pydantic是一个用于数据验证和设置的库,可以显著简化API接口开发,文章通过一个实际案例,展示了Pydantic如何在生产环... 目录1️⃣ 崩溃时刻:当你的API接口又双叒崩了!2️⃣ 神兵天降:3行代码解决验证难题3️⃣ 深度

C++ move 的作用详解及陷阱最佳实践

《C++move的作用详解及陷阱最佳实践》文章详细介绍了C++中的`std::move`函数的作用,包括为什么需要它、它的本质、典型使用场景、以及一些常见陷阱和最佳实践,感兴趣的朋友跟随小编一起看... 目录C++ move 的作用详解一、一句话总结二、为什么需要 move?C++98/03 的痛点⚡C++

SpringBoot返回文件让前端下载的几种方式

《SpringBoot返回文件让前端下载的几种方式》文章介绍了开发中文件下载的两种常见解决方案,并详细描述了通过后端进行下载的原理和步骤,包括一次性读取到内存和分块写入响应输出流两种方法,此外,还提供... 目录01 背景02 一次性读取到内存,通过响应输出流输出到前端02 将文件流通过循环写入到响应输出流

SpringBoot+Vue3整合SSE实现实时消息推送功能

《SpringBoot+Vue3整合SSE实现实时消息推送功能》在日常开发中,我们经常需要实现实时消息推送的功能,这篇文章将基于SpringBoot和Vue3来简单实现一个入门级的例子,下面小编就和大... 目录前言先大概介绍下SSE后端实现(SpringBoot)前端实现(vue3)1. 数据类型定义2.

前端Visual Studio Code安装配置教程之下载、汉化、常用组件及基本操作

《前端VisualStudioCode安装配置教程之下载、汉化、常用组件及基本操作》VisualStudioCode是微软推出的一个强大的代码编辑器,功能强大,操作简单便捷,还有着良好的用户界面,... 目录一、Visual Studio Code下载二、汉化三、常用组件1、Auto Rename Tag2

MySQL存储过程实践(in、out、inout)

《MySQL存储过程实践(in、out、inout)》文章介绍了数据库中的存储过程,包括其定义、优缺点、性能调校与撰写,以及创建和调用方法,还详细说明了存储过程的参数类型,包括IN、OUT和INOUT... 目录简述存储过程存储过程的优缺点优点缺点存储过程的创建和调用mysql 存储过程中的关键语法案例存储

Java 的ArrayList集合底层实现与最佳实践

《Java的ArrayList集合底层实现与最佳实践》本文主要介绍了Java的ArrayList集合类的核心概念、底层实现、关键成员变量、初始化机制、容量演变、扩容机制、性能分析、核心方法源码解析、... 目录1. 核心概念与底层实现1.1 ArrayList 的本质1.1.1 底层数据结构JDK 1.7

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(