复习
"""
1、表单指令:
v-model="变量" 变量与value有关
普通:变量就代表value值
单选框:变量为多个单选框中的某一个value值
单一复选框:变量为布尔,代表是否选中
多复选框:变量为数组,存放选中的选项value
2、条件指令:
v-show: display:none
v-if: 不渲染
v-if | v-else-if | v-else
前者条件成立,就不管之后分支,当所有条件都不成功,才执行v-else分支
3、循环指令:
v-for="(v, i) in str|arr"
v-for="(v, k, i) in dic"
v:值 k:键 i:索引
4、sessionStorage | localStorage
sessionStorage:生命周期同所属标签(标签关闭被销毁)
localStorage:永久保存
localStorage.key = value
localStorage.clear()
5、分隔符:delimiters: ['[{', '}]'],
6、过滤器:
{{ n1, n2 | f1(30) | f2 }}
filters: {
f1(n1,n2,n3) {return 过滤结果},
f2(f1的res) {return 过滤结果},
}
7、计算属性:
result必须渲染;绑定的方法内部出现的变量更新方法被调用;方法返回值是result的值;result不能在data中重复定义
computed: {
result() {
// 一个方法属性值依赖于多个变量
return this.n1 + this.n2;
}
}
8、监听属性:
监听属性属性更新方法被调用;方法参数为被监听属性当前值,上一次值;多个变量依赖一个变量
watch: {
full_name(n, o) {
this.first_name = n.split('')[0]
this.last_name = n.split('')[1]
}
}
9、冒泡排序:
for (let i=0; i stus[j + 1]参数) {
let temp = stus[j];
stus[j] = stus[j + 1];
stus[j + 1] = temp;
}
}
}
"""
补充
在data里,属性名与值为变量的变量名相同时,可以简写忽略值
data{
scores
}
for in 遍历的是取值关键 |for of 遍历的是值
for (score of scores) {
score.total = score.math + score.chinese + score.english;
}//scores是一个列表套字典
组件
什么是组件
html、css、与js的集合体,为该集合体命名,用该名字复用html、css、与js组成的集合体=>复用性
组件分类
根组件:new Vue() 生成的组件
局部组件:组件名={},{}内部采用的是Vue语法
全局组件:Vue.component(‘组件名’,{}),{}内部采用的是vue语法
组件特点:
1)组件都有管理组件html页面结构的 template 实例成员,template中有且只有一个根标签
2)根组件都是作为最顶层父组件,局部与全局组件作为子组件,也可以成为其他局部与全局组件的父组件
3)子组件的数据需要隔离(数据组件化,每个组件拥有自己数据的独立名称空间)
4)局部组件必须注册才能使用,全局组件不要需要注册,提倡使用局部组件
5)组件中出现的所有变量(模板中、逻辑中),都由该组件自己提供管理
6)局部全局和根组件都是一个vue示例,一个实例对应一套html、css、js结构,所以实例就是组件
总结:跟组件,可以不明确template,template默认采用挂载点页面结构;如果设置了template,挂载点内部的内容无效
解释:html、body标签不能被替换,所以不能作为挂载点
{{ msg }}
子组件