SFC Simple-File-Components 单文件组件,也就是一个组件里又js,html和css。
构建工具啥意思?直接引用vue可以直接使用vue语法,但是无法使用单文SFC语法。
全局构建版本?使用cdn引入的就算?
ES模块构建版本?
导入映射表?Import Maps
文本插值 Mustache语法,也就是双大括号语法
原始HTML,需要使用v-html指令
属性绑定,双大括号不能在html属性中使用,需要使用v-bind指令来绑定属性,比如v-bind:src="",简写就是:src=""
同名属性简写,比如:src="src",则可以简写成:src,3.4+支持
动态绑定多个值,通过不带参数的v-bind,可以绑定一个对象,比如v-bind="prop",而prop定义是prop: {id: 1, name: 'hello'}
js表达式,也就是return 可以返回的都支持
{{num+1}}
{{num.split('').reverse().join('')}}
模板语法或者属性调用方法,其实就是methods里定义的方法。
动态参数,:[pop]="var",根据pop变量的值来决定参数,中括号包裹,动态参数中表达式的值应该是一个字符串,动态参数表达式中也不能有空格和引号,限制多多。
修饰符 .开头
data 选项用来声明组件的响应式状态,此选项的值应为返回一个对象的函数。
vue3 数据是使用js proxy代理来实现响应式,跟vue2不同
模板中的表达式会让代码难以维护,所以推荐用计算属性来描响应式的复杂逻辑,计算属性定义在computed选项里,也是函数定义方法。
计算属性其实跟方法差不多,但是计算属性会缓存值,效率高点。
计算属性默认是只读的,如果需要可写,那么需要提供getter和setter来定义。
class和style也是属性,可以用v-bind,但是vue增强了这两个属性语法
v-if
v-else
v-else-if
v-show
v-if和v-for不推荐同时使用,因为优先级不明显
v-if是彻底销毁这个元素,而v-show只是用display显示与隐藏
<div v-for="v of list">{{v}}</div> //list是数组, of可以改成in
<div v-for="(v, k) of list">{{v}}</div> //k是键
<div v-for="(v, k) of 10">{{v}}</div> //范围值,v从1到10
<div v-for="(v, k) of 10" :key="k">{{v}}</div> // 推荐给v-for提供key
mounted钩子可以用来在组件完成初始渲染并创建dom节点后运行