一,Vue基础补充
1.获取DOM对象
给标签加ref属性,ref="xxx"
this.$refs.xxx
2.Vue对象:计算属性
科目 成绩 Python Django Mysql 总分 { {total}} 平均分 { {average}}
3.Vue对象:数据的监听
watch 监听数据-- 字符串 -- 监听到改变新的值和旧的值不同-- 数组 -- 只能监听到长度的变化 新旧值相同的 -- 改变数组的时候监听不到,必须用$set(array,index,value) 新旧值相同-- 对象 -- 只能监听到value的改变 必须深度监听 -- 增加对象的key 必须用$set(obj,key,value) -- 新旧值相同
{ {name}} { {hobby}} { {obj}}
二,Vue的组件
1.组件的全局注册
Vue.component("组件名称",{ // 也就是不能同时有两个div template:`只识别一个块级作用域`, data() { return { name: xxx } }, methods:{},})-- 任何Vue实例里用 <组件名称>组件名称>
2.组件的局部注册
-- let com_config = {......}-- const app = new Vue({ el: "#app", components: { 组件名称: com_fig }})--<组件名称>组件名称>
3.子组件的注册
-- 在父组件里 components: { 子组件的名称: 子组件的配置信息}-- 在父组件的template里展示子组件
4.父子组件的通信
先给子组件绑定属性
在子组件通过props:["属性名称"]
5.子父组件的通信
子组件先提交数据:this.$emit("事件名称",data)
父组件,给子组件绑定事件:自己处理这个事件
6.非父子组件通信
定义一个中间调度器:let Event = new Vue();
其中一个组件向中间调度器提交事件:Event.$emit("事件名称",data)
另一个组件要监听中间调度器的时间:Event.$on("事件的名称",function(data) { })
7.混合
复用共用的代码块:mixins:[base]
8.插槽
实现组件内容的分发:
slot:
直接用slot标签
命名的slot:
先给slot加name属性
给标签元素添加slot属性 = name属性值
python
从入门到放弃
Mysql
从删库到跑路
这是一个组件