最新要闻
- 取代奔腾/赛扬!Intel 12代Alder Lake-N处理器来了:清一色小核、超低功耗
- 环球即时看!德国樱桃收购瑞典外设品牌Xtrfy:对方只有12人
- 当前信息:国六B汽油要全面上线了!听说这玩意又贵又不耐烧?
- 环球关注:Wi-Fi 7:明年下半年见
- 天天看点:App流畅度提升88%!小米承诺:所有升级MIUI 14机型均支持光子引擎
- 全球要闻:雷军:全面对标苹果iPhone 一个新的小米开始了
- 天天微头条丨意外之喜:苹果给iPhone 6s/7推送iOS 15.7.2系统更新
- 焦点精选!脱口秀演员直播带货:想得美好
- 直播:今年最后一场大型流星雨来了!双子座流星雨压轴登场
- 游戏性能被RX7900反超?《巫师3》次世代版4090光追演示
- 天天信息:摩托罗拉×潘通 “非凡洋红”限定版新机来了
- RTX 4080为何要定价这般高?背后原因揭开
- 【环球热闻】面对矿卡 老黄已经悄悄带头冲锋了!一箭双雕 真是绝了
- 环球短讯!旧版微博拜拜:大量用户被直接改为新版界面
- 全球新动态:工信部出手!手机预装App终于能卸载了:2023年执行
- 切勿模仿!男子让幼儿握方向盘开车还拍摄炫耀:扣3分、罚200
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
快消息!Vue核心概念与其指令
2.双向数据绑定
(资料图)
当做form表单时,表单的默认展示数据来自于特点1, 当用户在form表单添加数据时,对的数据模型会同步更新到本地维护的data上。Vue的原理
Vue采用MVVM设计模式,View指html页面, Model指Ajax获取的数据,ViewModel指Vue。Vue是一个实例对象,它内部通过监听的方式进行工作。1.监听数据改变,更新UI页面2.监听DOM变化,更新数据ModelVue简单的使用场景
要3个条件1.提供一个让Vue控制的视图View, 让View帮我们把数据自动填充到里面2.内部维护一组数据源,用于在View视图上展示3.创建一个Vue实例对象,通过对象的MVVM双向绑定,让View与Mode直接实现数据的双向流动。Vue脚手架vue-clivue-cli是一个帮助开发者自动配置webpack的工具,使用vue-cli可以快速开启一个项目,让开发者只关注自己的业务开发。安装与使用{{username}}<script src="./lib/vue-2.6.12.js"></script> <script> // vue实例对象负责处理View, Model之间的双向流动。 // vue实例的入参是它要监听的两头,el: 使用选择器寻找它要监听管理的View容器, data: 数据源与view做双向绑定。 const vm = new Vue({ el: "#root", data: { username: "Frog" } }); </script>
npm install -g @vue/cli
vue-cli版本降级
从vue-cli v4的版本 降回v3
npm uninstall -g @vue/cli//安装指定版本npm install -g @vue/cli@版本号//vue cli3 的最高版本 3.12.1 npm install -g @vue/cli@3.12.1
使用vue -V验证是否安装成功
zhoufeideMacBook-Pro-2:lession0 zhoufei$ vue -V@vue/cli 5.0.8
vue create 项目名称
vue2模板选择SPA 单页面应用:所有的功能都在一个页面中实现,一个项目就一个页面。
vue默认用于开发SPA 单页面应用。如:vue-cli工具生成的工程中只有一个index.html入口文件。并且vue编写的js代码编译打包后,会嵌入到div#app的下面
main.js是项目的入口,webpack打包的入口在这里
App.vue根组件,项目的结构在这里定义components: 定义的组件放置在这个目录下Vue的运行流程
在工程化项目中,vue是通过main.js把App.vue渲染到index.html指定的区域中。App.vue用来编写待渲染的模板结构index.html中需要预留一个el区域main.js把App.vue渲染到index.html预留的区域中。main.js项目入口// 导入vue框架,在js全局当如Vue构造方法import Vue from "vue" // 导入App.vue根组件,将根组件替换到index.html的#app标签import App from "./App.vue" Vue.config.productionTip = falsenew Vue({ el: "#app", //#app标签,占位标签 render: h => h(App), // 返回要替换#app占位标签的根组件})
App.vue根据组件
这是第1篇文章
这是第2篇文章
这是第3篇文章
这是第4篇文章
这是第5篇文章
这是第6篇文章
这是第7篇文章
这是第8篇文章
Vue挂载方式,下面2种是一样的。
new Vue({ render: h => h(App),}).$mount("#app")new Vue({ el: "#app", //#app标签,占位标签 render: h => h(App), // 返回要替换#app占位标签的根组件})
Vue组件化开发
Vue是一个支持组件化开发的框架,其中定义的组件是以.vue结尾。App.vue文件本质上也是一个vue组件。组件是一个可以复用的UI结构。template是组件的模板结构。script和style是为模板提供交互和样式的。除了data, props, 生命周期 使用函数的方式定义,其他定义都和Vue实例的设置一样。Vue指令内容渲染指令有三种:v-text:直接覆盖指令,不常用{{ }}: 差值表达式,在位置上展示,常用v-html:标签内容展示,可以展示html标签样式。自定义组件 --- {{ username }}<script>export default { // 组件中的data定义和vue实例对象中data的定义不一样 // 组件中的data定义是一个函数,在函数的return里返回一个对象 data: function (params) { return { username: "Lilei" } }, // 除了data需要使用函数,其他定义都和Vue实例的传参一样。 methods: { changeName () { this.username = "娃哈哈" } }, watch: {}, filters: {}, computed: {}}</script>
姓名:
性别:
姓名: {{ username }}
性别: {{ gender }}
内容:
属性绑定指令
属性动态绑定使用v-bind:修饰, 或者可以省略v-bind, 直接一个:就可以了其中属性绑定v-bind:和差值表达式里面都可以写一些简单的js语句
1+2: {{ 1+2 }}
事件绑定指令
视图上,通过v-on:绑定一个事件,比如v-on:click绑定一个点击事件。统计结果: {{ count }}
处理方法的添加是放在Vue({methods})项上
并且在methods上,方法推荐使用sub(){},简写的形式,无需显示使用key:value的形式。<script> const vm = new Vue({ el: "#app", data: { username: "Frog", }, methods: { add: function (n) { vm.count += n }, sub(e) { //推荐这样简写 //vm就等于this, 是一个实例对象 this.count -= 1 console.log(e); if (this.count % 2 === 0) { // e.target是事件的响应对象 e.target.style.backgroundColor = "red"; } else { e.target.style.backgroundColor = ""; } }, sub2(n, e) { console.log(n); console.log(e); } } }) </script>
<script> const vm = new Vue({ el: "#app", data: { username: "Frog", }, methods: { goBaidu(e) { e.preventDefault() console.log("跳转到baidu"); } } }) </script>
按键修饰符
<script> const vm = new Vue({ el: "#app", data: { username: "Frog", }, methods: { cleanHandler(e){ //当esc键 弹出时回调 console.log(e.target); }, commitHandler(e){ console.log("提交"); } } }) </script>
双向数据绑定指令
双向数据绑定是用于表单提交数据的场景model数据与表单中的input输入框的value通过v-model进行双向绑定,当用户输入数据时,Vue实例监听到,然后将数据更新到Model中。因为Vue有数据驱动视图的特点,当数据改变了就会驱动视图上数据的更新。这个一去,一回的循环构成了双向绑定的效果。用户名:{{ username }}
<script> const vm = new Vue({ el: "#app", data: { username: "", city: "0" } }) </script>
v-model指令修饰符
双向绑定有三种指令修饰符number: 将输入的字符串自动转成数字trim: 自动剪裁掉输入数据两头的空格lazy:只在输入完成,点击enter时才触发数据更新+ = {{ num1 + num2}}
+ = {{ num1 + num2}}
const vm = new Vue({ el: "#app", data: { username: "", city: "0", num1: 1, num2: 1 } })
条件渲染指令
这是用v-if渲染的
这是用v-show渲染的
优秀良好及格不及格
<script> vm = new Vue({ el: "#app", data: { flag: true, scoe: "A" } }) </script>
列表渲染指令
索引 id 姓名 {{ index }} {{ item.id }} {{ item.name }}
<script> vm = new Vue({ el: "#app", data: { list: [ {id:1, name:"zhangsan"}, {id:2, name:"lisi"}, {id:3, name:"wangwu"} ] } }) </script>
过滤器
{{ message | capi }}
时间:{{ new Date() | dateFormate }}
// 添加全局过滤器 Vue.filter("dateFormate", function (time) { const dtstr = dayjs(time).format("YYYY-HH-DD HH:mm:ss") return dtstr }) vm = new Vue({ el: "#app", data: { message: "hello vue.js" }, // 过滤器是一个函数,它定义在filters下面 filters: { capi(val) { // val: 标识通过管道符传过来的值 var one = val.charAt(0).toUpperCase() var two = val.slice(1) return one + two } } })
侦听器
侦听器有2种:函数监听器,对象监听器
函数监听器比较简单,只能直接监听,方法执行时直接接收监听的属性或子属性对象监听器比较复杂,强大,可以设置页面加载完成时默认执行一次回调和对象属性子属性的深层监听var vm = new Vue({ el: "#app", data: { username: "", userBigName: "admin", userInfo: { city: "" } }, watch: { // 函数监听器,监听哪个属性,方法名就是那个属性名 // 第一个是新值,第二个是旧值 // 缺点1:页面初始化时没法自动触发 // 缺点2:当属性是一个对象时,修改对象中的属性,函数监听器无法监听到 username(newV, oldV) { console.log(newV, oldV); $.get("https://www.escook.cn/api/finduser/"+newV, function(res){ console.log(res); console.log($); }) }, // 对象侦听器,侦听哪个属性,key值就设置成哪个属性名 // 优点1:通过设置immediate为true, 可以在页面加载时,默认执行一次调用 userBigName: { handler(newV, oldV) { console.log(newV, oldV); $.get("https://www.escook.cn/api/finduser/"+newV, function(res){ console.log(res); console.log($); }) }, immediate: true }, // 对象侦听器,可以监听对象属性中的子属性 // 优点2:对象侦听器可以开启深度监听,修改属性对象中的一个子属性,收到监听回调 userInfo: { handler(newV) { console.log(newV); }, deep: true }, // 子属性方法监听器,解决缺点2 // 可以使用下面这个"属性.子属性"的方法,做方法监听。可以做到直接监听到子属性,并且newV打印的也是子属性的值 "userInfo.city"(newV) { console.log(newV); } } })
计算属性
定义时按照方法定义,使用时按照属性使用,在内存中的保存形式是属性data属性和计算属性中的数据是同步更新的。{{ rgb }}
var vm = new Vue({ el: "#app", data: { r: 0, g: 0, b: 0 }, // 计算属性 // 定义时用方法定义,使用时按属性使用,在内存中保存的也是属性形式 // 优点:1.代码复用,2.data属性修改,计算属性会被同步修改 computed: { rgb() { return `rgb(${this.r}, ${this.g}, ${this.b})` } } })
快消息!Vue核心概念与其指令
Wireshark使用笔记
焦点!Zabbix监控系统
世界快资讯丨Kubernetes Volumes 笔记
取代奔腾/赛扬!Intel 12代Alder Lake-N处理器来了:清一色小核、超低功耗
环球即时看!德国樱桃收购瑞典外设品牌Xtrfy:对方只有12人
当前信息:国六B汽油要全面上线了!听说这玩意又贵又不耐烧?
环球关注:Wi-Fi 7:明年下半年见
天天看点:App流畅度提升88%!小米承诺:所有升级MIUI 14机型均支持光子引擎
全球要闻:雷军:全面对标苹果iPhone 一个新的小米开始了
环球滚动:[WPF] MediaElement播放HDR视频泛黄、颜色显示不正确应该如何解决?
R数据分析:冲击流图与热图的做法以及多图布局
简讯:VUE简介
天天微头条丨意外之喜:苹果给iPhone 6s/7推送iOS 15.7.2系统更新
焦点精选!脱口秀演员直播带货:想得美好
直播:今年最后一场大型流星雨来了!双子座流星雨压轴登场
游戏性能被RX7900反超?《巫师3》次世代版4090光追演示
天天信息:摩托罗拉×潘通 “非凡洋红”限定版新机来了
Python3.7.3环境搭建
全球观点:哈希表总结
当前报道:2022 ICPC 杭州站 K - Master of Both // Trie
RTX 4080为何要定价这般高?背后原因揭开
【环球热闻】面对矿卡 老黄已经悄悄带头冲锋了!一箭双雕 真是绝了
环球短讯!旧版微博拜拜:大量用户被直接改为新版界面
全球新动态:工信部出手!手机预装App终于能卸载了:2023年执行
切勿模仿!男子让幼儿握方向盘开车还拍摄炫耀:扣3分、罚200
4G已够用 美国运营商推5G陷入麻烦:4200亿投资难赚回来
全球简讯:Intel Arc显卡驱动升级:吃鸡快了4%、还有16个Bug
百事通!玩家最担心的事要发生!AMD RX 7900系列大概率涨价
天天微资讯!CDPR确认《巫师3》次世代版存在Bug:将尽快修复
高玩一步到位 阿斯加特32GB DDR5-6800 RGB灯条1350元
精选!浅析JWT Attack
记录--uniapp 应用APP跳转微信小程序
天天滚动:用 ChatGPT 来完成笔试题
MYSQL 3 DAY
世界热点评!第一百一十三篇: JS数组Array(二)数组方法 栈、队列、排序
世界快资讯丨《流浪地球2》公布星尘海报:人类的勇气永刻星空
全球快播:原因不服不行 大巴黎官方:我们已锁定世界杯冠军!梅西/姆巴佩争金靴
世界热讯:《死侍3》确认为R级!休·杰克曼将回归饰演金刚狼
环球快报:奇瑞SUV颜值天花板!俄罗斯花滑“千金”喜提OMODA C5:定制车身
微头条丨工资加倍都招不到人!官方要求北京快递业人员应返岗尽返岗
环球时讯:行业方案 | 新规落地,企业集团财务公司如何构建数智财务体系?
环球实时:模板层之标签 自定义模板语法 模板的继承与导入 搭建测试环境 ORM常用关键字
最强护眼屏!moto X40蓝光占比远低于行业均值
当前速看:为了让人多下游戏?特斯拉推出1TB车规级固态硬盘
世界实时:奥迪新车开了半小时咚咚响 4S店换零件车主想换车
当前看点!5年研发投入1000亿!小米发布首部知识产权白皮书:授权专利超2.9万项
每日速读!Redmi K60要用上陶瓷/素皮了?卢伟冰在线征集偏好:陶瓷第一
微头条丨Prometheus技术分享——如何监控宿主机和容器
当前视点!人类核聚变取得突破性进展:什么是核聚变、重要吗?
【热闻】闷声发大财 奇瑞第四代混动专用1.5L发动机下线:油耗大降
世界微头条丨7单元发声设计!小米Sound Pro智能音箱开售 首发999元
世界最新:小米13 Pro绝配!小米50W立式风冷无线充Pro图赏
全球热议:跑分突破133万!努比亚Z50《原神》半小时稳成直线
天天关注:学习 Shell准没错
天天速讯:Python3 编程面试题
焦点讯息:快递代拿项目 (第十组)终稿
焦点速看:面试题:浏览器输入 URL 后回车发生了什么?
破坏系统是为了更稳定?混沌工程在去哪儿的 4 个阶段实践
世界观点:产品分享:Qt鸿图电子智慧白板(适合会议机、电子黑板、电子笔记、电子阅读器等场景),当前版本v1.0.0
win7游戏不能全屏怎么解决?win7游戏不能全屏解决方法有哪些?
酷狗可以下载歌词吗?酷狗怎么下载歌词?
itunes怎么制作铃声?itunes备份文件在哪里?
chrome是什么浏览器?chrome文件夹可以删除吗?
在Excel中如何排序?excel中身份证号码怎么全部显示?
天天快看:Visual Studio下创建MFC项目,并结合OpenGL实现一个小程序
环球新动态:Go适合做什么?为何这么多人偏爱Go语言?
快消息!【脚本项目源码】Python制作艺术签名生成器,打造专属你的个人艺术签名
北桥温度高的原因有哪些?北桥温度高有什么影响?
手机通话清单怎么查询?手机通话清单怎么清除?
支付宝沾沾卡怎么获得?支付宝沾沾卡怎么使用?
华为路由a1是千兆吗?华为路由a1怎么重新设置?
微信故障是什么原因?微信故障怎么修复?
脑筋急转弯什么人不怕冷?脑筋急转弯什么狗不会叫的5种答案是什么?
经常请吃饭的漂亮姐姐插曲有哪些?经常请吃饭的漂亮姐姐剧情介绍
x战警范冰冰扮演的是什么角色?x战警范冰冰是哪一部
前端跨域
MySQL 行溢出
springboot+vue 若依项目在windows2008R2企业版部署流程
环球视点!SpringCloud-Nacos学习笔记
铝合金铸造工艺有哪些?铝合金铸造工艺流程
苦主是什么意思?苦主引申含义是什么?
世界微速讯:上网认证(锐捷睿易篇)
当前快看:JNPF3.4.5消息模块:多渠道应用,配置灵活多样,满足更多使用场景
【环球热闻】基于汉兰达开发而来 雷克萨斯TX效果图曝光:竟与奇瑞星途“撞衫”
微软正式放弃Win10 21H1!将无法收到任何安全更新或补丁
亚米级的高精度定位 高德北斗卫星日定位量已超2100亿次
不枉马粉苦等一场 全新马自达CX-90预告:六缸、后驱全都有
【全球快播报】对标迈巴赫S级!蔚来百万级豪车计划落地 售价百万
SAP根据源码导入/ui2/cl_json类
Docker 安装,常用命令
【当前独家】告别LCD/mini LED iPad Pro全系升级到OLED屏
全球快资讯:高端成了!小米12S Ultra被中国移动评为4000元以上最强旗舰
视点!果粉霸气!花万元同时入手小米13和13 Pro:之前用的是iPhone 14 Pro Max
火箭平民化!中国民营火箭朱雀二号即将首飞:人类首次挑战甲烷燃料
小米13系列刷新认知 卢伟冰6字评价:彻底脱胎换骨
快讯:3999元起!小米13今日开售:手感、续航碾压iPhone 14 Pro
消息称苹果要对iOS开放 iPhone等自由了:功能、应用商店向第三方放开
苹果推送iOS 16.2正式版:新增无边记、Apple Music唱歌
阿根廷3-0克罗地亚晋级决赛!梅西创纪录之夜:成现役世界杯射手王