Vue 3

🌈莫玄忆纸🎐(互)

<p class="ql-block">Vue是一个用于构建用户界面的渐进式JavaScript框架[尤雨溪].</p><p class="ql-block">适用场景丰富的 Web 前端框架.</p><p class="ql-block"><span style="color:rgb(237, 35, 8);">Vue.js能够自动追踪数据的变化,并实时更新DOM.</span></p><p class="ql-block">import=导入</p><p class="ql-block">ref→包装响应式数据的方法</p><p class="ql-block"><span style="color:rgb(22, 126, 251);">const</span>→定义变量关键字</p><p class="ql-block"><span style="color:rgb(237, 35, 8);">@click 监听点击事件</span></p><p class="ql-block">'值++' 让值加1</p><p class="ql-block"><span style="color:rgb(22, 126, 251);">import</span> {ref}<span style="color:rgb(22, 126, 251);">from</span> '<span style="color:rgb(22, 126, 251);">vue</span>'→导入</p><p class="ql-block">const 常量名= ref(值);</p><p class="ql-block">&lt;=脚本→中引入<span style="color:rgb(57, 181, 74);">[src="</span>网址"]</p><p class="ql-block">message:" "=消息;指令</p><p class="ql-block">&lt;div=分区→定义</p><p class="ql-block">{createApp}=创建</p><p class="ql-block"><span style="color:rgb(237, 35, 8);">alert</span>()=提醒;通知</p><p class="ql-block">⭐setup=组织;调整[组合式vue3]</p><p class="ql-block">[ref创建的引用需要通过.value访问其值.]</p><p class="ql-block">export=出口</p><p class="ql-block">data(){=数据;材料;统计资料</p><p class="ql-block">return{→返回</p><p class="ql-block">const { createApp } = Vue;→CDN引入Vue</p><p class="ql-block">const 实例名 = createApp({});→创建实例</p><p class="ql-block">实例名.mount('#元素名');→挂载元素名</p><p class="ql-block">=document.getElementById('元素名');→记录元素id</p><p class="ql-block">mount=安装</p><p class="ql-block">reactive=反应;有回应</p><p class="ql-block">import { reactive } from 'vue'→响应式对象</p><p class="ql-block">const 实例名= reactive({</p><p class="ql-block"> message: '指示内容'</p><p class="ql-block">});→实例名响应</p><p class="ql-block">console.log();→控制台输出</p><p class="ql-block">increment=增加</p><p class="ql-block">const increment = () =&gt; {</p><p class="ql-block"> 量名.value++; // 增加量名的值</p><p class="ql-block">};→使用箭头函数方式定义方法</p><p class="ql-block">increment();→调用增加值数</p><p class="ql-block">双大括号→插值表达式</p><p class="ql-block">v-bind指令用于动态绑定一个或多个特性,或一个组件 prop 到表达式.</p><p class="ql-block">@是v-on的缩写形式</p><p class="ql-block">⭐src=源代码[Source code]</p><p class="ql-block">v-bind:属性名→ :→绑定属性v-on:事件名→ @ →绑定事件</p><p class="ql-block">&lt;template=模板</p><p class="ql-block">⚠️v-text="元素名"→显示html内容</p><p class="ql-block">=ref('&lt;span=范围 </p><p class="ql-block">style=" "=样式→闭合后加入文本</p><p class="ql-block">click=点击</p><p class="ql-block">v-once=→让元素或组件只渲染一次</p><p class="ql-block">cloak=披风;掩盖</p><p class="ql-block">样式style中展示[v-cloak] {</p><p class="ql-block"> display: none;</p><p class="ql-block"> }和div中展示v-cloak→避免插值闪烁→页面编译</p><p class="ql-block">:class="{ active: isActive }"→大括号绑定类中的对象[v-bind]</p><p class="ql-block">submit=提交</p><p class="ql-block">v-on:submit.prevent="量名"=提交</p><p class="ql-block">.stop→阻止事件冒泡</p><p class="ql-block">.prevent→阻止默认事件</p><p class="ql-block">使用修饰符时,多个修饰符可串联使用.如@click.stop.prevent。</p><p class="ql-block">v-if="量名"→量名要求ref(true)</p><p class="ql-block">v-else→新行闭合紧跟if[if管对错,else管方法()]</p><p class="ql-block">如果if的量名是false,就展现else行的内容</p><p class="ql-block">v-show="量名"→显示和隐藏</p><p class="ql-block">量名=!量名→显示与不显示的表达式[方法中]</p><p class="ql-block">v-for="数组 in 数组元素",</p><p class="ql-block">import { ref } from 'vue';→遍历</p><p class="ql-block">v-for="(value, key) in object"→遍历对象</p><p class="ql-block">v-for优先级比v-if高</p><p class="ql-block">计算属性computed→函数</p><p class="ql-block">import {computed,ref} from 'vue'</p><p class="ql-block">= computed(()=&gt;{</p><p class="ql-block"> return msg.value.split('').reverse().join('');→反转</p><p class="ql-block"> get: () =&gt; {</p><p class="ql-block"> return `${量名1} ${量名2}`;→组合</p><p class="ql-block">计算属性默认只有getter,不过也能自定义setter.</p><p class="ql-block">function 方法名() {反应</p><p class="ql-block">调用方法需要+()括号</p><p class="ql-block">{{计算属性代名}}→也可直接使用计算属性</p><p class="ql-block">import { ref, watch } from 'vue';</p><p class="ql-block">const 量名 = ref(数);</p><p class="ql-block">watch(量名, (newValue, oldValue) =&gt; { →监听量名值</p><p class="ql-block">const 对象名 = ref({ 属性名: '值', 属性名: 值 });→监听对象</p><p class="ql-block">deep=深邃;深的</p><p class="ql-block">{ deep: true });→深度监听消耗性能</p><p class="ql-block">directive=指令;指导方针</p><p class="ql-block">=焦点;中心</p><p class="ql-block">app.directive('focus', {→自定义指令</p><p class="ql-block">mounted()在元素挂载到DOM后调用→钩子函数</p><p class="ql-block">updated()在组件更新时调用</p><p class="ql-block">v-model只能用在表单元素上,像input,textarea等→绑定模型</p><p class="ql-block">.lazy→重要的优化方法→表单失去焦点才更新数据</p><p class="ql-block">get(){ return ref代名.value.toUpperCase(); },</p><p class="ql-block"> set(newValue) { 代名.value=newValue; }→计算属性中,转换大写</p><p class="ql-block">v-for循环渲染选项时,要给每个选项添加:key,保证渲染效率.</p><p class="ql-block">option=选择权</p><p class="ql-block">v-model在change事件发生时同步数据→用lazy修饰符</p><p class="ql-block">表单提交前用trim修饰符→可避免因空格导致的验证失败.</p><p class="ql-block">@→监听事件</p><p class="ql-block">模板里传递字符串参数,需用单引号包裹参数.</p><p class="ql-block">事件stop修饰符→阻止事件冒泡</p><p class="ql-block">子元素事件不会触发父元素的相同事件↑</p><p class="ql-block">capture修饰符→事件按从外向内的捕获顺序传播.</p><p class="ql-block">Outer=外部的</p><p class="ql-block">Inner=内部的</p><p class="ql-block">handle=处理;操纵</p><p class="ql-block">self修饰符仅对点击目标是绑定元素本身时生效</p><p class="ql-block">once修饰符→只会让事件触发一次,后续再触发该事件就无效了.</p><p class="ql-block">.prevent修饰符阻止链接跳转</p><p class="ql-block">🍵Scroll=滚动</p><p class="ql-block">passive修饰符用于事件监听器,它能提升性能.特别是在处理滚动等频繁触发的事件时.</p><p class="ql-block">监听器内调用preventDefault()无效↑</p><p class="ql-block">.enter 修饰符可监听回车键事件.</p><p class="ql-block">.tab 修饰符,用于监听Tab键事件</p><p class="ql-block">.ctrl 可监听Ctrl键</p><p class="ql-block">.alt 修饰符,用于监听Alt键</p><p class="ql-block">Ctrl修饰符,可多选</p><p class="ql-block">Shift→大小写切换</p>