**
如何让组件,设置为全局的组件:
在入口文件里面引入这个组件
Vuepoent("组件名", 组件名)
**
**
在一个简单的命令,重复使用的情况下
比如输入框的自动聚焦
Vue.durective( "'focus'" ,{inserted(el){el.focus()
}} )
使用自定义属性 > 定义事件类型 > inserted (el){el.focus()}
**
**
****在父组件通过 子组件标签设置 v-model 传值给子组件,子组件props接收 在子组件设置自定义事件 this.$emit(“自定义事件”,数据)
的方式传回了 父组件 里面的子组件标签 这里已经不需要在父组件里面设置函数接受了
因为双向传导的方式 v-model 已经监听到了数据的变化
一个指令实现两个功能 : 父传子 子传父
在基础里面 父组件传值给子组件的方式:
在子组件的标签里面使用 :name: "变量名"
子传父的方式: 子组件定义点击事件 在methods里面 使用this.$emit( “自定义事件名字” ,数据 )
这样的话 两种方式的代码都会写在 子组件的标签里面 代码冗余 v-model 的使用就是由此而来****
**
**
响应式: 数据 驱动试图
对象的新增没有响应式
虽然使用 this.obj.b=12 在调试工具里面 可以看到 在试图里面没有
**
**
**
**
这七个api会修改原数组
**
**
js运行在宿主环境中。
宿主环境有: 浏览器, nodejs
提到事件循环时,是指宿主环境的事件循环,而不是js中的事件循环。为啥? 我们常见的事件,点击事件,鼠标事件等等是不是在浏览器中提到的?
浏览器本身是一个复杂的系统,它要做的事情非常多,例如: 执行js代码,请求图片资源,解析css,渲染页面,响应鼠标的点击等等。在实现层面,浏览器内部会用不同的功能模块去完成不同的事情。这些不同的模块就体现为进程。
进一步把进程进行划分:
进程这个单位还是比较大,它进一步拆分多个线程。可以理解为一个页面上的事还是比较多,要多找些小弟来完成。具体来说,一个渲染进程包括:
每个渲染进程(一个tab页)都有一个主线程,并且主线程非常繁忙,既要处理 DOM,又要计算样式,还要处理布局,同时还需要处理 JavaScript 任务以及各种输入事件。要让这么多不同类型的任务在主线程中有条不紊地执行,这就需要一个系统来统筹调度这些任务,这个统筹调度系统就是消息队列和事件循环。
任务有很多,人只有一个
**
**
执行逻辑: 立刻执行 微任务 宏任务
主进程会区分 : 代码执行的优先级 一般 立刻执行 微任务 宏任务会对上面的三种情况进行排序
执行栈会首先执行 立刻执行的代码 识别微任务 添加到队列 再去识别宏任务 添加完以后 开始执行 微任务 执行 这样一次往下
重上倒下 开始筛选 立刻执行 peomise 前半部分是立即执行的函数 后半部分是微任务异步 继续往下筛选 队列添加完毕以后 开始执行微任务 微任务执行完毕以后 开始执行宏任务
本文发布于:2024-02-04 15:20:57,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170710410956659.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |