代码拉取完成,页面将自动刷新
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id="app"></div>
<div style="font-size: 14px; position:absolute;bottom:20px; left:10px;">
源代码地址:https://gitee.com/xiao_yan_bin/vue_code<br/>
github: https://github.com/xiaoyanbin/vue_code<br/>
vue设计与实现,持续更新,建议点赞收藏,有问题可以在评论区留言
</div>
</body>
<script>
effect(function effectFn1(){
console.log('effectFn1')
effect(function effectFn2(){
console.log('effectFn2')
effect(function effectFn3(){
console.log('effectFn3')
})
})
})
let activeEffect
const effectStack = []
function effect(fn){
const effectFn = () => {
cleanup(effectFn)
activeEffect = effectFn
effectStack.push(effectFn)
fn()
effectStack.pop()
activeEffect = effectStack[effectStack.length - 1]
}
effectFn.deps = []
// 执行副作用函数
effectFn()
}
// 避免无限循环
function trigger(target,key){
const depsMap = targetMap.get(target)
if(!depsMap) return
const dep = depsMap.get(key)
const effectsToRun = new Set()
effects && effects.forEach(effect => {
// 如果不是当前激活的副作用函数,就添加到effectsToRun中
if(effect !== activeEffect){
effectsToRun.add(effect)
}
})
effectsToRun.forEach(effect => {
effect()
})
}
</script>
</html>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。