vue3 教程(vue3 入门)

发布时间:2024-03-12
本文主要介绍vue3教程(vue3介绍),下面一起看看vue3教程(vue3介绍)相关资讯。
vue3学习笔记——基础主要参考vue3教程
脚本src = https://unpkg.com/vue@next/剧本!-开发环境-scriptsrc = https://unpkg.com/browse/vue @ 3 . 2 . 33/dist/vue . global . js /剧本!-生产环境最好指定版本号响应渲染div id = 柜台 count: { { counter } } br!-甚至可以是expression-3 3 = { { 3 3 } }/div const count:·=({count: 0 })//返回可在{{expression}}中使用的变量的函数。直接成为this的属性(可以通过外部函数改变)//(实际以$data的形式存储在组件实例中)} vue。createapp(计数器)。安装( #计数器 )//创建一个组件,绑定id=counter的元素,只绑定第一个v-bind div id = 绑定属性 span v--将message变量绑定到这个div对象的title属性上--悬停几秒钟在这里可以看到动态绑定的提示信息!/span span : titl:属性和。;,或许还支持几乎所有的html属性——鼠标悬停几秒钟就能在这里看到动态绑定的提示信息!{data: =({m: ;你在 新日期。tolocalestring})} vue . create app(attribute binding)。安装( #绑定属性 )指的是html属性引用。
v-翁迪夫id = 事件处理 p { { message } }/p button v-one: click = 反向消息和反向消息/按钮!-将reversemessage方法绑定到该button对象的onclick事件-button @ click = 反向消息和要反转消息/按钮!-或者使用缩写形式` @ event `- button v-one :[on name]= 反向消息和要反转消息/按钮!-v-on和v-bind可以使用动态参数-/div const :=({ message : ;h: ;点击 })、m: { reverse message//千万不要使用arrow函数,因为arrow函数的作用域是全局的。这不是对象{this。消息=这个。message . split(; ).反转。加入( )}} vue。createapp(事件处理)。安装( #事件处理 )参考html事件参考手册和globaleventhandlers。
v-modeldiv id = 双向绑定 p{{ message }}/p输入v-model = 信息与广告/ !-输入框!-双向绑定:当消息变量的值改变时,不仅inputbox的内容会改变,消息变量也会改变-input: value = 信息与广告@ input = message = $ event . target . value !-it ;这-/divconst双向绑定= {data:=({ message : ;你好vue! })}vue.createapp(双向绑定)。安装( #双向绑定 )v-if div id = 有条件渲染 button @ click = 开关 来切换/button h1v-if = 真棒 vue!/h1/div const conditional r:=({ aw: tru: { switch{ this . seen =!this . seen } } } vue . create app(conditional rendering)。安装( #条件渲染 )v-fordiv id = 列表渲染和奥利v-for = todos中的todos { { todo . text } }/li/ol/div const list rendering = { data :=({ todos:[{ t: ;学习javascript和。;}、{ t: ;学习vue }、{ text: ;建造一些令人敬畏的东西。;}]}} vue.createapp(列表渲染)。安装( #列表渲染 )应用实例it 是时候回顾一下组件的创建了。
create const app = vue . create app({ data :=({ }),//参考响应式渲染示例method : {/*某些方法*/},//参考` v-on `示例comput:{}。//参考计算属性示例watch:{} //参考器示例})//注册 全球 component//简单示例app . component( ;搜索输入 ,searchinputcomponent) app。定向( 焦点 ,焦点定向)app。使用(区域设置插件)//或chain const app = vue。createapp ({})。组件( 搜索输入 ,searcheinputcomponent)。指令( 焦点 焦点指令)。使用(区域设置插件)计算属性computed const app = vue。create app({ data :=({ })),comput: {//计算属性和方法的区别在于它是缓存的,加快了静态数据的读取速度(也就是说它是 属性 )//if vu: ;不 }、fullnam: {//一个完整的计算属性包括getter和setter // getter。事实上,getter部分get之前的一个计算属性示例{return this。名字 这个。lastname},// setter可以使用app.fullname = 爱丽丝鲍勃 将set(new value){ const names = new value . split( ; )this.firstname = names [0]。this.lastname = names [names。length-1]}}})器watchdiv id = 手表-例子 问是/否qu:输入v-model = 问题与建议/br { { answer } }/div script src = https://unpkg.com/axios@0.12.0/dist/axios.min.js/script const watchexamplevm =vue . cr:=({ qu: 、answ: 问题通常包含一个问号。;-) ,})、watch: {//list: { g;)。然后((response)= { this . answer = response . data . answer;}) .catch((错误)= { this.answer = 错误!api。 错误;});}, },}).安装( #手表-范例 );计算机重写示例:
comput: { qu: { get{ return this . ques;},//如果只有一个变量并且是它本身,用watch来设置(新值)可能更好{this.qu:class可以是对象。
div : class = { activ:是活跃的} /divdiv : class = 类对象和/divdata:= ({isactiv: true,class object : {activ: tru: false } })也可以是数组。
div : class = [activeclass,error class] /div!-你甚至可以组合-dive cho 4-@ . com class = ;[{activ:活跃},错误类] /divdata:= ({isactiv:是真的,activeclass: ;主动 ,error class cho 4-@ . com ;文字舞者 }) :style是一个对象。
div : style = color:积极的颜色,fontsiz:字体大小和;;px } /div!-用驼峰命名法-dive cho 4-@ . com style = ;{;color;: active color,;fontsiz: fontsize ;px } /div!-或者短横线要用引号隔开-div : style = 样式对象 /div!-user object-data := ({isactiv: true,activeclass: ;主动 ,error class cho 4-@ . com ;文字舞者 styleobject: { color: ;红色 ,font size : ;13px })也可以混合数组。
div :styl:[ ;-webkit-box ;, ms-flexbox ;, flex ]} /div!-选择数组中最后一个支持浏览器的-div : style = [styleobj1,style obj 2] /div!-同样的风格会覆盖-v-if和逻辑链if-else h1 v-if = 真棒 vue!/h1hv-else ohno/h1else if div-if = type = = a v-else-if = type = = = b div v-else-if = type = = c c/div div。
v-show不支持template元素,也不支持v-else。
如果需要非常频繁的切换,用v-show比较好。如果运行时条件很少改变,那么最好使用v-if。
列表渲染数组渲染与设计李v-for = 项目中的项目 { {项目。message}}/li/ul如果项目是数组,它们将遍历数组;如果是对象,则遍历属性值。
或者在myobject中使用(value,name)来同时使用键名和键值。
或者在myobjec中使用(valu:key,同一个元素中的键必须是唯一的,键的变化会触发替换/重新渲染/重新排序,所以设置某个键可以防止重复渲染,比如
div v-for = 项目中的项目 : key = !-content - /div永远不要在一个元素上同时使用v-if和v-for。涉及
v-on和事件修饰符事件修饰符被那些需要它们的人使用。
关键修饰词
input @ keyup.enter = 提交 /听键盘上的回车键。按下后调用submit,键值中的所有键名都可以转换成短横线分隔格式。vue具有针对以下内容的特殊修改器:
最常用的键的别名有。输入,。选项卡,。esc,。空格,。向上,。下来,。左.右,。删除(捕获 删除 和 退格 钥匙)。ctrl,。alt,。转变。meta可以与。精确的修饰符,并且只按下修改的按钮来执行鼠标按钮。左,。对。中间v-modelv-model在内部对不同的输入元素使用不同的属性,并抛出不同的事件:
text和textarea元素使用value属性和输入事件;复选框和单选按钮使用选中的属性和更改事件;选择字段以值为属性,以事件为变化。下拉列表
div id = 选择 选择v-model = 精选 期权价值= 精选 a/option选项值= b精选 b/期权期权价值= c精选 c/option/select spanselect: { { selected } }/span/div const selected = =({select:,{ data : ; })} vue.createapp(已选)。安装( #选择 )收音机。
div id = 挑选 输入类型= 广播与电视id = 小 价值= 小额贷款v型车= 采摘 的标签= 小 小/标签br输入类型= 广播与电视id = 大 价值= 大价值 v型车= 采摘 的标签= 大 大/标签br spanpick: { { picked } }/span/div const select: =({pick: ; })}vue。cr: { {已检查姓名} }/span/div const selected = =({check:,{data:[]} } vue。createapp(已选择)。安装( #检查 )更多信息,请参考表单输入绑定。
要注意组件:html中使用短杠分,js中使用驼峰命名。
创建div id = 组件-演示和演示button-counter/button-counter/div//创建一个vue应用程序constapp = vue.createapp ({0})//在应用程序内(全局),定义一个组件app . compon:=({count: 0 })命名为按钮计数器。t: `按钮@点击= 计数 您点击了我{{count}}次。/button `//我们用反引号包裹的模板字符串作为模板})app . mount( ;#组件-演示 ).自定义属性div id = 博客-帖子-演示和演示class = 演示 博客-波斯特提。tle = 我和vue /blog-post博客文章标题= 用vue /blog-post博客文章标题= 为什么vue如此有趣/blog-post/div const app = vue . create app({ })app . compon:[ ;标题和标题。;],//这里定义一个 标题和标题。;template : ;h4 { { title } }/h4 ;})app . mount( ;#博客-帖子-演示)。
div id = 博客-文章-演示和演示博客帖子v-for = 在邮政和邮政: key = post.id : title = 职位、头衔和职务/blog-post/div const app = { data :=({posts:[{ id: 1,titl: ;我和vu: 2,titl: ;用vu: 3,titl: ;为什么vue如此有趣。;}]})} const app = vue . create app(app)app . compon:[ ;标题和标题。;],t: ` h4 { { title } }/h4 `})app . mount( ;#博客-文章-演示 )自定义事件div id = 博客-文章-事件-演示和演示class = 演示 div : styl:。;em } blog-postv-for = 在邮政和邮政: key = post.id : title = 职位、头衔和职务@ enlarge-text = postfontsize = 0.1 !-在这里,事件`放大-文本 定义了一个父组件的-/blog-post/div/div constapp = vue . create app({ data := ({posts: [{id: 1,titl: ;我和vu: 2,titl: ;用vu: 3,titl: ;为什么vu: 1 })})app . compon:[ ;标题和标题。;],:[ ;放大文本 ],//可选,vu: ` div class = 博客-文章 h4 { { title } }/h4 button @ click = $ :$ emit( ;恩拉。rgetext ,0.1) !-此处传入一个参数-放大文本/按钮`自定义v-model自定义-输入v-model = searchtext /自定义-输入!-相当于-自定义-输入:模型-value = searchtext @ update:模型-value = searchtext = $ event /custom-input const app = vue . create app({ data :=({ search text : })})app . compon:[ ;模型价值与价值。;],:[ ;update:mod: `输入: value = 模型价值与价值@ input = $ emit( ;update:model value ;,$ event . target . value) `})自定义内容槽div id = -演示和class = 演示 警示框发生了不好的事情。!-这些内容将插入slot/slot-/alert-box/div const app = vue的中间。create app({ })app . compon: ` div class = 演示-警告框 strongerror错误!/strong slot/slot/div `})app . mount( ;#-演示和演示;;)综合动态组件div id = 动态组件演示 class = 演示 按钮v-for = 标签中的标签 v-bind:键= 标签。on ,{ activ:当前tab = = = tab }] v-on: click = 当前= tab {{ tab }} /button!-:is ;可以是已注册组件的名称,也可以是组件选项对象,甚至可以是常规的html元素当前abc组件和class = 标签 /component/div const app = vue . create app({ data{ return { curr: ;家庭与娱乐。;,tabs:[ ;家庭与娱乐。;, 邮政和邮政。;, 档案与收藏。;] } },comput: { currenttabcomponent{ return ;tab- ;this . current tab . tolowercase} })app . compon: ` div class = 演示-标签 home component/div `})app . compon: ` div class = 演示-标签 posts component/div `})app . compon: ` div class = 演示-标签 archive component/div `})app . mount( ;#动态组件演示 )选项卡:
属件
了解更多vue3教程(vue3介绍)相关内容请关注本站点。
上一个:植物类保健茶的妙用
下一个:电脑里不小心删掉的文件怎么恢复(电脑里不小心删除的文件怎么恢复)

市政排水管材常见问题和措施有哪些?
老人再婚死亡后财产如何分配
患有高血压能喝茶吗?这4个饮食禁忌,请你牢记
纳洛酮联合氨茶碱治疗早产儿呼吸暂停的疗效观察
iphone换个摄像头玻璃多少钱(苹果13换个摄像头多少钱)
oppor9s怎么调对比度,AI怎么调图片对比度
ET-TLC防溢流防静电控制器(上装)
锦灯笼种植技术
CC1206JRNPO9BN272,NPO 1206 2.7nF ±5% 50V
铸铁硬度