vue构建的七彩外衣

VueCircleMenu一个利用Vuejs实现的漂亮圆形菜单 VueCircleMenu 一个利用Vue.js实现的漂亮圆形菜单 立即下载

继第一章的vue入门http://blog.youkuaiyun.com/jerryjavacoding/article/details/77985464,接着学习的是vue在前端另一个重要领域:样式。传统基于dom的样式都是通过绑定class或者id来进行渲染,当我们需要根据业务动态修改样式的时候,很多时候只能依赖脚本去做逻辑替换,这个比较繁琐也容易出错。而vue通过其自身的数据双向绑定特性,应用于样式上,我们就可以根据这个来改变元素上的样式,简单易懂,非常方便。

Class 与 Style 绑定

  • Style
    vue中要动态跟换元素的样式,使用class的话,就是将元素的Style特性与一个数据源对象进行绑定,这个数据源的key都是一些css文件中样式名称,如color,display等。比如
 <a :style="classObj" href="xxx"/>
<script>
...
 vue.data(){
    return{
        classObj:{          
                color:blue,
                display:none,   
        }
    }
}
</script>

这样我们就将a的“外衣”牢牢的与classObj对象绑定在一起,当我们需要更改样式的时候,只要修改classObj对应属性就可以了,元素a的样式就会实时更新。
这里我们注意到style绑定的是一个对象,而这个对象可以有众多的属性,所以一般一个对象就能应付上很多样式需求了,但是如果我们定义的style绑定对象要可以复用到其他元素上,或者需要一些公用的属性,每次都手动添加一份就显得不灵活且繁琐,这是style绑定的对象可以是一个数组,而数组中的对象就是上文中普通的数据源,比如

 <a :style="[classObj,publicObj]" href="xxx"/>
<script>
...
 vue.data(){
    return{
        publicObj:{
            color:blue,
        },
        classObj:{                      
            display:none,   
        }
    }
}
</script>

如今我们看到都是key-value的形式,一个键只有一个值,vue新版2.3中增加了一个称谓“多重值”的概念,就是一个键可以有多个不同的值,那浏览器到底会采用哪个值呢?嘿嘿这还真是浏览器的事情了,不同浏览器引擎不同,我们将所有情况都罗列一般,主要就是为了兼容不同浏览器,如果都支持的话,就会取最后一个。


  • Class

class其实与上文的style类似,也有分数组和对象两种语法,还有数据与对象的结合。
这里的class跟style有啥不同?为什么会单独分出来?
style一般是我们自己定义的,k-v的v有n中可能,但是class只有两种可能,true or false

<div :class="classObject"></div>
data: {
  classObject: {
    active: true,
    'text-danger': false
  }
}

对嘛,我们选择class对象是,要么采用要么不要。这个要严格区分与style的不同。上文提到这里也可以是数组,如

<div :class="[activeClass, errorClass]"></div>
data: {
  activeClass: 'active',
  errorClass: 'text-danger'
}

数组语法,显示了的,当然是true了,没显示就是false,下面这种是对象语法与数组语法的结合体:

<div :class="[{ active: isActive }, errorClass]"></div>

这里还要强调一点是我踩过的坑,当我们的class作用在自定义的组件上时,如

ChildModal.vue:
    <template>
        <p class="classObj">Hello World!</p>
        ...
    </template>

Parent.vue:
    <ChildModal class="classObjParent"></ChildModal>

组件的父组件渲染的时候会将classObj也带到组件上来,而例子中我们看到父组件上已经定义了classObjParent了,这时候子组件定义的class就会追加在后面,而不是覆盖!

渲染

对于html元素的渲染,一般都会跟vue提供的指令挂钩

  • 首先比较经典的就是v-if和v-show的区别,很多人知道v-if是根据属性然后选择性渲染,而show是全部渲染,然后依托display来显示和影藏。道理都懂,可以官方为什么这么费劲去搞出两套东西?那要根据其应用场景才能知道vue的意图。
    if的切换开销大,适用于页面不经常切换,改变的条件一般不太可能,而show是渲染的开销大,适用于页面经常切换
    不过show不能用于template元素,这个元素渲染后是不存在的,那么display就无意义了,只能通过if。
    条件渲染中,如下面的例子(下面这个也不能用show,因为show不支持v-else)
<template v-if="loginType === 'username'">
  <label>Username</label>
  <input placeholder="Enter your username">
</template>
<template v-else>
  <label>Email</label>
  <input placeholder="Enter your email address">
</template>
  • key管理可复用的元素
    当我们根据loginType切换不同的页面的时候,会发现两个template其实里面的input是同一个,这样对于要切换来回的业务需求就不合理了,vue的解决方法就是通过给input添加key值,来区分他们。
<template v-if="loginType === 'username'">
  <label>Username</label>
  <input placeholder="Enter your username" key="username-input">
</template>
<template v-else>
  <label>Email</label>
  <input placeholder="Enter your email address" key="email-input">
</template>
  • v-for与v-if
    两者同时存在的时候,for的优先级更高。当我们需要for遍历数组然后通过if来筛选的话,在一个元素上,两个可以同时存在,原因就是for优先级高,但是当我们要根据if判断后再来用for去遍历数组,这个显然就不对了,只能在元素的外层去使用if了

  • 上文提到了v-for,很多人对于for指令的只是了解item in items,其实还有很多,比如

     item of items 
    (item,index) in items
    

    for除了可以遍历数组,还能遍历对象,

     value in Object
    (value,key)  in object
    (value,key,index) in object
    

    for遍历如果是对象,对象的数据变动并不能触发到for去更改,只能通过vue实例的$set函数对象去修改,如果是数组,有以下情况,也不能更新,要跟对象一样处理:

    当你利用索引直接设置一个项时,例如:vm.items[indexOfItem] = newValue                   当你修改数组的长度时,例如:vm.items.length = newLength
    

注:本文例子部分引用官网

Transformer实战(32)——Transformer模型压缩 在本节中,我们学习了如何在硬件资源受限的情况下减轻运行大模型的负担。我们介绍了如何通过蒸馏、剪枝和量化从训练好的模型中提取高效模型。预训练轻量级的通用语言模型(如 DistilBERT) 可以在各种任务上进行微调,并表现出与非蒸馏模型相当的性能。随着数据量的不断增加,我们希望模型能够更快地运行,在这方面,高效 Transformer 起着至关重要的作用。 阅读详情

相关推荐

别再只改config了!YOLO/RT-DETR多通道输入实战:数据集结构、多卡训练与参数优先级避坑指南

本文详细解析了YOLO/RT-DETR模型在多通道输入(如8通道多光谱图像)中的实战应用,涵盖数据集结构优化、数据加载器改造、模型参数调优及多卡训练配置。针对常见的多通道输入报错问题,提供了系统的解决方案和性能优化技巧,帮助开发者高效实现非标准数据格式的适配与训练。

weixin_30955617的博客 397

组件化高级

(十二)组件化高级 12.1 slot-插槽的基本使用 ​ 我们在使用组件的时候有时候希望,在组件内部定制化内容,例如京东这样。 这两个都是导航栏,组件的思想是可以复用的,把这个导航栏看做一个组件。 这个组件都可以分成三个部分,左边中间右边,如果可以分割组件,就可以定制化组件内容了。 <!-- 父组件 --> <div id="app"> <cpn></cpn> <cpn> <span style="

qq_33879627的博客 511

Win10环境下VS2019离线部署OnnxRuntime的完整指南

本文提供了在Windows 10系统下,为Visual Studio 2019进行OnnxRuntime离线部署的完整教程。针对网络受限环境,详细讲解了如何获取正确的离线安装包、配置本地NuGet源,并逐步指导项目配置与测试,确保AI模型在C++环境中顺利运行。

weixin_29205061的博客 400

vue动态绘制四分之三圆环

斜体样式参照网上的一个案例“参照的为绘制的是一个动态的圆环”,现在我的需求是改编成四分之三的圆环 实现效果: 样式展示 canvas绘图基本操作设置就可以 drawMain(drawing_elem, percent, forecolor, bgcolor) { /* @drawing_elem: 绘制对象 ...

技术不够,加班来凑 2404

基于51单片机语音识别智能台灯设计

智能台灯;语音识别;STC89C52RC单片机

Benso_H的博客 5842

深入解析进化算法中的选择与多样性

在计算科学的世界里,最优雅的解决方案往往源于最古老的智慧——大自然。进化算法(Evolutionary Algorithms, EAs)正是这样一种受达尔文自然选择学说启发的强大工具。它们通过模拟“适者生存”的过程,在庞大的可能性海洋中搜寻最优解。。:指的是深入挖掘和优化已知的优质解。这就像在一片已知的沃土上精耕细作,力求获得最高产量。强大的选择压力会促进这一过程。:指的是在整个搜索空间中寻找全新的、可能更优的解。这好比派遣探险队去发现新大陆,充满了未知与机遇。保持种群的多样性是探索的关键。

weixin_62533513的博客 716

用vue实现彩虹

在template添加一个div,具体代码如下: <template> <div class="head"></div> </template> 用css对div的内容进行修饰。首先创建一个背景为粉红色,半径为100px的圆。 <style> .head{ width: 200px; height...

hammring的博客 522

【异常】OpenClaw提示异常 1302:您的账户已达到速率限制,请您控制请求频率

摘要:系统返回1302错误码提示"账户已达到速率限制",表明请求频率超过服务阈值。主要原因是并发请求数达上限或请求过于密集。解决方案包括:降低并发请求量、引入请求队列机制平滑流量,或根据服务规则提升账户权益等级以获取更高并发额度。建议优先优化请求频率控制策略,避免触发系统限流机制。

奶爸的编程之路,也就一周冷个三天 1147

vue定义组件

vue定义组件 vue中定义组件有两种:全局组件和局部组件。 全局组件可以在页面的任何位置使用,局部组件只能在定义的el的范围内使用,在el的范围外使用会不显示 。 定义全局组件的方法: Vue.component("component-name",{ template:'<h1>{{message}}</h1>', data:functio...

weixin_30721899的博客 167

安卓刷Windows太难?这款手机平板双系统刷机工具,小白也能轻松拿捏!(小白福音!手机平板专用,一键搞定安卓刷 Windows 双系统!)

安卓刷Windows太难?这款手机平板双系统刷机工具,小白也能轻松拿捏!(小白福音!手机平板专用,一键搞定安卓刷 Windows 双系统!)

XiaoqiangClub的博客 4676

1000Base-T1协议解读(基于802.3bq-2016 和Test Suite)

1000Base-T1是由一对双绞线实现全双工传输的以太网标准,采用PAM3编码方式(-1,0,1),编码后的实际传输符号速率为750Mbps。该标准的车载最大传输距离可达15米,主要应用于汽车产品开发过程。测试过程示波器要求带宽≥2G,采样率≥7.5Gbps,网分带宽≥1G。

qflook的博客 5333

基于Java+SpringBoot+Vue+HTML5七彩云南文化旅游网站(源码+LW+调试文档+讲解等)/七彩云南/文化旅游/云南旅游/七彩云南旅游/云南文化/云南旅游攻略/云南旅游景点

前端:Vue、Vue.js、ElementUI、HTML5、BootStrap、CSS3、JavaScript、jQuery、LayUI后端:SpringBoot、Mybatis,Maven构建项目jar包,内置Tomcat运行Web环境,后端语言Java数据库:MySQL、SQLServer开发工具:IDEA、Eclipse、Navicat等✌关于毕设项目技术实现问题讲解也可以给我留言咨询!!!在程序设计中,Vue 的组件化开发模式带来了极大的便利。

全栈领域优质创作者,专注于Java、小程序、Python技术领域和计算机毕业项目实战,大学生项目实战开发,讲解,毕业答疑辅导,高校老师/讲师/同行合作。以及产品测评宣传、工具推广等合作。 996

Matlab基于PSO-MVMD粒子群算法优化多元变分模态分解

Matlab基于PSO-MVMD粒子群算法优化多元变分模态分解

机器学习之心的博客,关注并私信文章链接,获取对应文章源码和数据。 518

canvas-vue彩色丝带展示

canvas-vue彩色丝带展示 目录 文章目录前言推荐阅读原版代码自用版本结果展示 前言 着重点在:位置的选择和色彩的选择 推荐阅读 绘制随机不规则三角彩条——小谈EvanYou个人主页的实现 Evan You 原版代码 暴力美学 <canvas></canvas> <script> // 事件的定义 // 如果使用触摸屏,当滚动时,将会阻止事件发生 document.addEventListener('touchmove', event => ev

莫兮的博客 1305

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

vue中使用echarts制作圆环图

&lt;div id="main"&gt;&lt;/div&gt; &lt;script type="text/ecmascript-6"&gt; export default { //从父组件中接收到的数据 props:{ chartT:{ type:Object, required:true } }, ...

liuxin_1991的博客 4394

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Vue实现环形进度条方法组件

为什么80%的码农都做不了架构师?>>> ...

weixin_34088838的博客 2748

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【项目推荐】基于 SpringBoot3 + Spring AI 的游泳馆管理系统:Agent + RAG + Function Calling 一次学全

它不是玩具 Demo,而是一个「业务 + AI」双主线交织的真实系统——预约业务在跑,AI 客服在旁边实时查库作答,两条线通过 Function Calling、RAG、站内消息串成一体。面试官问「你做过什么 AI 项目」时,你能从业务场景讲到架构取舍,从 RAG 切分参数讲到降级兜底——这和「我调了一下 ChatGPT 的 API」是完全不同的两个段位。项目已包含完整的建表 SQL、初始化数据、部署文档,克隆下来就能跑。获取方式:见文末说明 / 后台回复关键词获取。—— 完 ——

深耕开发,专注编程实战。分享源码解析、项目搭建、问题排查笔记,沉淀技术,持续更新。 347

Jackson 序列化 / 反序列化注解 完整版笔记

Jackson 序列化 / 反序列化注解 完整版笔记

handsome_sai的博客 275

Web 版翻译者资料库

本项目是桌面版《翻译者资料库》的 Web 移植版,基于 Spring Boot 3.3、Thymeleaf、Bootstrap 5.3 与 MySQL 8.0 构建。它面向翻译写作提供资料、词汇、句库、文本工具、对照制作、查找、备份恢复及旧库迁移等功能,完整继承桌面版核心业务规则,支持一键启动与离线访问。

howard2005的专栏 140

MCP 协议会成为前端 AI 工程的标准接口吗?

MCP(Model Context Protocol)正在成为连接 AI 模型与外部工具、数据源的一层通用协议。本文从 MCP 的核心机制出发,分析它在浏览器与前端工程中的落地边界,讨论它能否成为前端 AI 工程的标准接口,并给出当下更务实的架构选择建议。

m0_62937412的博客 343

LangGraph 本地 build 频频翻车,最终在服务器跑通流式对话

先说结论:我本地那个,一次都没成功过。三次,三次,全挂在拉镜像上。而顺得像刚上过油。这就很像我高中那辆自行车:骑着能走,一上锁就坏。那天晚上我盯着终端里那行红字看了很久,想的不是技术方案,想的是——为什么同一个工具,可以一边让我觉得自己很行,一边让我觉得自己不太行。

人工智能AI技术 111

海外平台频繁弹验证?从 DNS、WebRTC 到浏览器指纹的环境异常排查清单

在运营多地区海外平台账号时,即使代理节点通畅、TCP 握手成功,仍可能遇到频繁人机验证、地区限制、播放失败等异常。核心结论是:这类问题往往不在网络传输层,而在浏览器环境参数与网络出口之间的逻辑自洽性。本文从 DNS 泄漏、WebRTC 穿透、时区与语言匹配、Canvas/WebGL 指纹、TLS 特征五个维度,给出一份可复现的环境异常排查清单,并对比个人手动配置与工程化环境管理方案的适用边界。适用于跨境运营、多账号运维团队。

P1Browser【p1指纹浏览器】的博客 184

智能问诊的流程

本文介绍基于FastAPI构建的医疗多Agent系统MediAgent,通过症状分析、诊断推理与治疗建议等模块协同,实现从问诊到报告生成的完整工作流。系统采用前后端分离架构,结合MySQL、RabbitMQ与Docker实现工程化部署,支持异步化验结果接入。虽当前状态暂存于内存,但已具备可扩展性,未来可通过Redis持久化、消息队列联动及医疗安全机制完善,应用于慢病管理、辅助决策等场景,推动AI在医疗流程中的落地应用。

Joey 的工作空间~ 773

信号链电路怎么选运放?奥特四款信号链运放解析【选型参考】

在模拟电路设计中,运放作为信号链的“第一道门槛”,其微小误差往往决定了整个系统的成败。

naNa_1120的博客 191

流式输出 SSE:实现 AI 对话打字机效果后端开发

摘要解决传统 HTTP 请求在 LLM 长文本生成时导致的客户端长时间阻塞与 TTFT 极高的问题。适用于需为 AI 应用提供打字机效果、优化交互体验的后端开发工程师。读完可获得基于 FastAPI 与 SSE(Server-Sent Events)技术的流式响应实现代码、协议规范及生产环境避坑指南。关键词SSE、流式输出、FastAPI、打字机效果、TTFT、大模型推理背景与问题大模型(LLM)生成完整回复通常耗时数秒至数十秒,传统请求-响应模型导致用户界面长时间无响应,体验极差。

2402_85729970的博客 183

基于 YOLOv8 的森林火灾检测系统(Web 版)

本项目面向林区早期火情识别场景,使用YOLOv8完成火焰(Fire)与烟雾(Smoke)两类目标的检测模型训练,并以FastAPI构建 Web 检测平台,把模型能力封装为可直接登录使用的系统。平台除常规的图片、批量、视频、摄像头检测外,还提供同图多权重对比、数据集浏览与标注核对、模型热切换,以及把训练搬到网页上的能力:可在浏览器配置超参数发起真实训练,训练中在线调整学习率、查看进度与动态曲线,训练完成后下载产物或直接应用到检测。

Michael_Jay的博客 63
上一篇: vue初窥
下一篇: nginx的酷配置
@云师兄
博客等级 码龄10年 10粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值