百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

SpringBoot + Vue(十)第三方组件element-ui及图标的使用

toyiye 2024-08-19 22:40 6 浏览 0 评论


组件间的传值

下面通过项目进行演示:(element-ui 目前比较成熟的是基于Vue2的版本)

创建一个Vue2的项目,项目名为:component-demo

具体创建过程参照上节课程。注意本项目选Vue2.x 版本

项目创建完成后,将 component-demo 文件夹拖入

Vue2 和 Vue3 对于初学者来说只是区别在语法上有些区别

main.js 中的主要区别:

1.创建Vue对象:Vue3用createApp ; Vue2用 new Vue

2. Vue3用mount ; Vue2用 $mount

3.导入App组件,Vue2用 render 函数去渲染的App组件;Vue3 直接把App组件传递到了 createApp 里面。

最终都是把 App 组件渲染到 public\index.html 文件 <div id="app"></div> 中 。

为更好的体现,清理一下程序。

1、删除 HelloWorld.vue

2.删除App.vue 组件里面下图框选的部分

在 components 目录下新建一个 Mocie.vue 组件,输入如下代码。

注意:

Vue2里面所有的组件必须包含在一个父标签下<div> </div> 。Vue3没有这个限制。

在根组件 App.vue 中完成导入、注册和调用

运行 npm rum serve 启动服务,

在浏览中就可以显示效果

上面的自定义组件设置了一个固定的标签,显示 “爱情天空”这几个字符。下面演示动态标签。

修改自定义 Movie.vue 标签的内容,如下:

<script> 标签内 export 表示输出;name 可以任意取,这里定义为Hello 。 data 是数据,函数里面返回的是 title 。

将<template>标签中固定的“爱情天空”替换为 {{title}} ,这时浏览器自动变化,显示如下图:

注意:电影组件是需要重用的,如果在这里固定写了标题的内容,假如有10部电影,不可能去创建10个组价。显然组件里面的数据不应该有它本身提供,而是应该有外界的使用者来提供。应该是谁调用Movie组件谁就提供数据。具体操作:

在 Movie.vue 组件中修改代码如下:

然后在组件App.vue 中的 Movie 就有了 title 属性,设置该属性的值,就可以在浏览器中显示出来

可以继续增加 自定义组件的属性,例如增加一个评分属性 rating

添加 rating 属性后在根组件 App.vue 中就可以调用。

然后将 输入的评分传递回 Movie.vue 中的<span>{{rating}}</span> 中,在浏览器显示出来。

如果有很多电影,可以在根组件 App.vue 中描述这个数据,使用 data 方法,后面会讲到数据从网络请求传递过来,目前先模拟一下,自行设置一些数据一个的movies 电影列表,里面有一些电影(包括:id、标题title、和评分rating三个属性)

data:function(){
 return{
 movies:[
 {id:1,title:"阿凡达",rating:9.2},
 {id:2,title:"爱情公寓",rating:8.7},
 {id:3,title:"金刚狼",rating:8.9},
 ]
 }
 },

现在需要根据有多少部电影就生成多少个Movie组件,使用列表渲染 v-for ,这里定义一个变量 movie d对应 movies 电影列表,还必须需要设置 key,绑定唯一的属性 ,这里通过movie.id 取出列表唯一id。然后再绑定 title 和 rating(绑定属性需要加 : 号,比如这里的 :key :title :rating )

自定义的Movie.vue可以加样式和各种标签,以后来数据的时候网页的列表就自动生成了。

组件里面有可以有自己的行为,比如加一个按钮:

定义按钮后弹出一个模拟“收藏成功”的对话框


组件间的传值

在 components 目录下新建一个Hello.vue 组件

在App.vue 中导入Hello.vue 组件,注册,调用

现在 Movie 和 Hello 两个组件都在<div></div>中调用,是兄弟组件,无法共享数据,无法像通过Movie.vue里面的 props 那样来传递。

就是现在只能将 movies 里面的数据交给 Hello,而无法将Movie 里面的数据交给 Hello

要实现相互数据传递需要借助其它方法,后面再具体演示。


element-ui 介绍

(现在许多框架对Vue3 的支持还在迭代中,还是以Vue2来演示)

停止系统运行,然后再终端输入 npm i element-ui -S

第三方的组件的源码都会安装在 node_modules 目录里面

还会在package.json 中记录


注意:从网上下载的许多系统的源码没有 node_modules 目录,但只要 package.json 中的记录是完整的就可以通过 npm install 自动下载缺失的依赖。

从官网的快手上手,可以看详细是使用方法

https://element.eleme.cn/#/zh-CN/component/quickstart

要使用也需要先在 main.js 中导入,然后进行注册。

(注意:前面我们在App.vue中注册的 Movie 和 Hello 组件是局部注册,第三方组件一般需要在main.js 中进行全局注册)

下面演示具体使用案例:

在官方网页中选择 Table 表格中的基础表格进行演示(其它组件使用方法类似),点击显示代码,


将里面的代码复制到我们自定义的 Hello.vue 组件中

这时表格就在网页中显示出来了。

<srcipt>标签内的data() 中 tableData 数据绑定给了 <template> 标签中的 :data="tableData"

每一列的prop 都和 <srcipt> 标签内 tableData 中的属性对应。例如 prop="date",在下面也有对应的 date 属性;prop="name",在下面也有对应的 name 属性;prop="address",在下面也有对应的 address属性.

label=“日期”,这里的 label 是表头显示内容;

width=“180”,指单元格宽度180

在官方网站上有 Table Attributes 详细说明

再来演示一个事件组件,找到下图的组件,复制代码

显示效果如下:

第三方图标库

  • 文档地址: https://fontawesome.dashgame.com/
  • 安装:npm install font-awesome

安装前需要停车程序运行 Ctrl + C,安装完成后再次启动程序 npm run serve

使用:在main.js 中导入 import 'font-awesome/css/font-awesome.min.css'

在官方网站中找到你想要使用的图标(如小图中小相机),复制代码

放到需要方式的标签中

相关推荐

# Python 3 # Python 3字典Dictionary(1)

Python3字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,格式如...

Python第八课:数据类型中的字典及其函数与方法

Python3字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值...

Python中字典详解(python 中字典)

字典是Python中使用键进行索引的重要数据结构。它们是无序的项序列(键值对),这意味着顺序不被保留。键是不可变的。与列表一样,字典的值可以保存异构数据,即整数、浮点、字符串、NaN、布尔值、列表、数...

Python3.9又更新了:dict内置新功能,正式版十月见面

机器之心报道参与:一鸣、JaminPython3.8的热乎劲还没过去,Python就又双叒叕要更新了。近日,3.9版本的第四个alpha版已经开源。从文档中,我们可以看到官方透露的对dic...

Python3 基本数据类型详解(python三种基本数据类型)

文章来源:加米谷大数据Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在Python中,变量就是变量,它没有类型,我们所说的"类型"是变...

一文掌握Python的字典(python字典用法大全)

字典是Python中最强大、最灵活的内置数据结构之一。它们允许存储键值对,从而实现高效的数据检索、操作和组织。本文深入探讨了字典,涵盖了它们的创建、操作和高级用法,以帮助中级Python开发...

超级完整|Python字典详解(python字典的方法或操作)

一、字典概述01字典的格式Python字典是一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。字典的每个键值key=>value对用冒号:分割,每个对之间用逗号,...

Python3.9版本新特性:字典合并操作的详细解读

处于测试阶段的Python3.9版本中有一个新特性:我们在使用Python字典时,将能够编写出更可读、更紧凑的代码啦!Python版本你现在使用哪种版本的Python?3.7分?3.5分?还是2.7...

python 自学,字典3(一些例子)(python字典有哪些基本操作)

例子11;如何批量复制字典里的内容2;如何批量修改字典的内容3;如何批量修改字典里某些指定的内容...

Python3.9中的字典合并和更新,几乎影响了所有Python程序员

全文共2837字,预计学习时长9分钟Python3.9正在积极开发,并计划于今年10月发布。2月26日,开发团队发布了alpha4版本。该版本引入了新的合并(|)和更新(|=)运算符,这个新特性几乎...

Python3大字典:《Python3自学速查手册.pdf》限时下载中

最近有人会想了,2022了,想学Python晚不晚,学习python有前途吗?IT行业行业薪资高,发展前景好,是很多求职群里严重的香饽饽,而要进入这个高薪行业,也不是那么轻而易举的,拿信工专业的大学生...

python学习——字典(python字典基本操作)

字典Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有非常快的查取和插入速度。但它是无序的,包含的元素个数不限,值...

324页清华教授撰写【Python 3 菜鸟查询手册】火了,小白入门字典

如何入门学习python...

Python3.9中的字典合并和更新,了解一下

全文共2837字,预计学习时长9分钟Python3.9正在积极开发,并计划于今年10月发布。2月26日,开发团队发布了alpha4版本。该版本引入了新的合并(|)和更新(|=)运算符,这个新特性几乎...

python3基础之字典(python中字典的基本操作)

字典和列表一样,也是python内置的一种数据结构。字典的结构如下图:列表用中括号[]把元素包起来,而字典是用大括号{}把元素包起来,只不过字典的每一个元素都包含键和值两部分。键和值是一一对应的...

取消回复欢迎 发表评论:

请填写验证码