当前位置:网站首页>75-局部自定义指令——bind和update方法
75-局部自定义指令——bind和update方法
2022-07-19 05:05:00 【longfei815】
75-局部自定义指令——bind和update方法
这里通过directives指令实现。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>75-局部自定义指令——bind和update方法</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<style>
p{
width: 100px;
height: 100px;
background-color: #fcf;
}
</style>
</head>
<body>
<div id='app'>
<button @click="isShow=!isShow">按钮</button>
<p v-myshow="isShow"></p>
</div>
<script>
new Vue({
el:'#app',
data:{
isShow:false
},
// directives是指令的意思。
directives:{
myshow:{
// 钩子函数特点: 一定时机下自动执行,不需要调用;钩子函数一般会有几个函数在一起.
bind(el,binding){
// 什么时候执行这里的代码?
// 在v-myshow指令绑定到p标签身上的时候,执行这里的代码,只执行1次. 页面一刷新就绑定上去了
// el 是这个被绑定的元素
// binding 是一个此次绑定的一些信息的对象
// binding.value 有用, 获取到isShow的值
// 需求:页面一刷新,让盒子根据isShow的值,来进行显示或者隐藏
console.log("bind", el, binding);
// el.style.display = isShow的值 ? "block" : "none"
el.style.display = binding.value?"block":"none"
},
update(el,binding){
// 什么时候执行这里的代码?
// 被绑定上的标签的子节点发生变化的时候,执行这里的代码
// v-myshow是p的子节点,所以,只要v-myshow的值发生变化,就会执行这里的代码
// 点击之后,重新根据isShow的值做显示或者隐藏
el.style.display = binding.value ? "block" : "none"
}
}
}
})
</script>
</body>
</html>
边栏推荐
猜你喜欢
随机推荐
学生成绩管理系统(c语言)
第六十二篇:win10上运行VS程序出现蓝屏崩溃
如何解决跨域问题
C language implementation of address book
基数排序(桶排序)
Part 59: main c:62:9: note: use option -std=c99 or -std=gnu99 to compile your code
字符串函数和内存操作函数
第五十八篇:VS调试出现“覆盖。。。。是/N:否/A:全部)??”
【学习笔记】Solid Works 作业记录
54-Object.defineProperty方法
Promise 解决回调地狱、async await 修饰符
Study diary - pointer topic
4000 words, let you understand recursion and its example practice (C language, with pictures)
第七十五篇:学术论文写作技巧
学习日记1
二阶及N阶最长公共子序列
Pytorch target detection competition (I) data analysis
4000字,让你明白递推及其例题做法(C语言,有图)
八皇后问题,秒懂递归回溯(有图详解|c语言)
Interval coverage problem