v-once:单独使用,限制的标签内容一旦赋值,便不可被动更改(如果是输入框,可以主动修改)
示例:
"app"> "text" v-model="msg"> "text" v-model="msg" v-once>{{ msg }}
{{ msg }}
v-cloak:防止页面闪烁(也就是,防止vue还没加载,显示他的语法和渲染效果出现乱码)
示例:
"zh"> "UTF-8"> "app" v-cloak> {{ }} {{ }} {{ }}
两种都可以控制标签的显隐,绑定的值是布尔类型值,当都隐藏标签时 v-if是不渲染标签(没有渲染效果,代码层面看不到) v-show以 display:none 方式渲染(没有渲染效果,可以看到代码) -->
示例:
!DOCTYPE html> "zh"> "UTF-8"> "app">if="isShow">if条件指令
"isShow">show条件指令
v-if="变量" v-else-if="变量" v-else 一组分支,上成立分支会屏蔽下方所有分支,else分支没有条件,在所有分支不成立后才显示else分支 -->
点击切换页面示例:
"zh"> "UTF-8"> "app">if="0">ififif
else-if="0">elseif
else>else
class="em">
class="box r" v-if="showName == 'rBox'">class="box y" v-else-if="showName == 'yBox'">class="box b" v-else>
v-pre指令可以在vue控制范围内,形成局部vue不控制区域(局部不解析vue语法,原样显示)
"zh"> "UTF-8"> "app">{{ msg }}
{{ }} if="hehe">
{{ }} if="hehe">
1) 遍历字符串:可以只逐一遍历字符,也可以连同遍历索引for="ch in str">
|for="(ch, index) in str">
2) 遍历数组(列表):可以只逐一遍历成员元素,也可以连同遍历索引for="ele in arr">
|for="(ele, index) in arr">
3) 遍历对象(字典):可以只逐一遍历成员元素,也可以连同遍历成员键(key),还可以遍历成员key索引for="v in dic">
|for="(v,k) in arr">
|for="(v,k,i) in arr">
示例:
"zh"> "UTF-8"> "app">{{ str }}
{{ str[0] }}
for="ch in str">{{ ch }}for="(ch, i) in str" :key="ch + i">{{ i }}{{ ch }}for="(ele, i) in arr">{{ i }}{{ ele }}
for="ele in dic">{{ ele }}
for="(ele, k) in dic">{{ k }}:{{ ele }}
for="(ele, k, i) in dic">{{ i }}{{ k }}:{{ ele }}
1) 留言就是往留言数组中添加数据,删除留言就是从留言数组中移除数据 2) 前台数据库:localStorage 和 sessionStorage localStorage永久保存数据(关闭计算机和浏览器数据还是会存在,只有手动清除) sessionStorage临时保存数据(当所属页面标签被关闭,数据被清空) 3) 前台localStorage 和 sessionStorage数据库存储的值是字符串类型,所以要存放arr、dic等复杂数据需要JSON参与
示例:
"zh"> "UTF-8"> "app">"text" v-model="userMsg">
- for="(msg, index) in msgs" @click="deleteMsg(index)"> {{ msg }}
delimiters
主要是更改插值表达式的符号;类似于mysql中更改sql语句的结束符号
示例:
"zh"> "UTF-8"> "app"> {{ msg }} {[ msg ]}
监听:compute计算属性(内部监听)watch
// 1) computed是用来声明 方法属性 的 // 2) 声明的方法属性不能在data中重复定义 // 3) 方法属性必须在页面中渲染使用,才会对内部出现的所有变量进行监听 // 4) 计算属性的值来源于监听方法的返回值
示例:
"app"> 姓:"text" v-model="fName"> 名:"text" v-model="lName"> 姓名:{{ flName }}
2.watch
// 1) watch为data中已存在的属性设置监听事件 // 2) 监听的属性值发送改变,就会触发监听事件 // 3) 监听事件的方法返回值没有任何意义
"app"> 姓名:"text" v-model="fullName"> 姓:{{ firstName }} 名:{{ lastName }}