vue怎么自定义指令??
最近看看vue中自定义指令,感觉vue的指令和angular1的指令相差较大
<script> //指令钩子函数:
/*
bind 只调用一次,指令第一次绑定到元素的时调用
inserted 被指令绑定指令的元素插入 父节点的时候调用
update 被绑定的元素模版只要发生变化,就会触发(通过比较模板变化前后)
componentUpdated 被绑定元素所在模版完成一次更新周期时被触发
unbind 指令被解除绑定的时候
*/ /*
定义指令回调函数(钩子函数的几个参数的意义)
第一个参数:绑定指令的元素html
第二个参数:对象的形式输出,自定义指令的信息(指令名字,使用的名字,包括我们传入的值,我们可以利用这个参数,在钩子函数中进行相关操作),
第三个参数:输出绑定指令的元素的虚拟dom节点信息
*/
const selfcomponent={
template:`<div>
<p>自定义组件</p>
<input v-model="com"/>
<p v-my-dir="com">组件的内容:跟随变色</p>
</div>`,
//props:['color'],
data(){
return { com:'#ddd'}//给一个默认值
},
directives:{
"myDir":{//指令的名字
bind:function(el,binding,nodeDom){
console.log(binding);
console.log("bind");
el.style="color:"+binding.value;
},
inserted:function(){
console.log("instered");
},
update:function(el,binding,nodeDom){//每次在input中输入信息,都会触发这个函数
console.log("update");
el.style="color:"+binding.value;
},
componentUpdated:function(el,bindging,nodeDom){
console.log("componented"); },
unbind:function(el,binding,nodeDom){
console.log("unbind");
}
} } };
var app =new Vue({
el:"#app",
data:{
color:'red',
},
methods:{
},
components:{
selfcomponent
}
});
</script>
<div id="app">
<selfcomponent ></selfcomponent>
</div>
以上实现的效果是,在输入框输入颜色信息,例如:red,#ddd.....组件中的信息,会随着你输入的信息变色
当然也可以全局定义指令:
Vue.directive("mydirective",function(el,pra,a){
console.log(el);//将元素标签输出
console.log(pra);//议对象的形式输出,自定义指令的信息,(包括我们传入的值)
console.log(a);//以对象的形式输出,vue虚拟节点信息
//console.log(document.getElementsByTagName("li")[0].parentNode);
el.style="color:"+pra.value;
});
vue怎么自定义指令??的更多相关文章
- 最简单的方式理解Vue的自定义指令与混合
vue.js 自定义指令 钩子函数:bindinsertedupdatecomponentUpdatedunbind 钩子函数完整实例:html: <div id="hook-argu ...
- Vue.js自定义指令的用法与实例
市面上大多数关于Vue.js自定义指令的文章都在讲语法,很少讲实际的应用场景和用例,以致于即便明白了怎么写,也不知道怎么用.本文不讲语法,就讲自定义指令的用法. 自定义指令是用来操作DOM的.尽管Vu ...
- vue 通过自定义指令实现 置顶操作;
项目需求:要求当前项目每个页面滑到超出一屏的距离时,出现 backTop 按钮,点击则回到最顶端:俗称置顶操作: 因为涉及到的页面较多,每个页面都加肯定显得重复累赘,最终想到了 Vue 的自定义指令 ...
- Vue directive自定义指令+canvas实现H5图片压缩上传-Base64格式
前言 最近优化项目-手机拍照图片太大,回显速度比较慢,使用了vue的自定义指令实现H5压缩上传base64格式的图片 canvas自定义指令 Vue.directive("canvas&qu ...
- Vue.directive 自定义指令
一.什么是全局API? 全局API并不在构造器里,而是先声明全局变量或者直接在Vue上定义一些新功能,Vue内置了一些全局API,比如我们今天要学习的指令Vue.directive.说的简单些就是,在 ...
- vue中自定义指令
//vue中自定义指令 //使用 Vue.directive(id, [definition]) 定义全局的指令 //参数1:指令的名称.注意,在定义的时候,指令的名称前面,不需要加 v-前缀; 但是 ...
- Vue2.0 【第二季】第1节 Vue.directive自定义指令
目录 Vue2.0 [第二季]第1节 Vue.directive自定义指令 一.什么是全局API? 二. Vue.directive自定义指令 三.自定义指令中传递的三个参数 四.自定义指令的生命周期 ...
- Vue 3自定义指令开发
本文由葡萄城技术团队原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 什么是指令(directive) 在Angular和Vue中都有Direct ...
- vue.js自定义指令入门
Vue.js 允许你注册自定义指令,实质上是让你教 Vue 一些新技巧:怎样将数据的变化映射到 DOM 的行为.你可以使用Vue.directive(id, definition)的方法传入指令id和 ...
随机推荐
- hdu 1211 逆元
RSA Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...
- map、filter、reduce、lambda
一.map.filter.reduce map(fuction , iterable) 映射 对可迭代对象中的每一项,使用函数去改变 filter(function, iterable) 过滤 可迭代 ...
- 初次使用Bootstrap
一.概述也好,过程也好,反正就是这样 知道这个还是从群里听到的,一个人的视野是有限,必须借助他人来扩展.好奇使我去搜索了解了一下.原来是一个网页前端框架,可以适合不同大小屏幕,自动适应正常显示.这就是 ...
- js获取显示器、页面等高度 (转)
网页可见区域宽:document.body.clientWidth网页可见区域高:document.body.clientHeight网页可见区域宽:document.body.offsetWidth ...
- *SCM-MANAGER独立部署方式
从官网获取最新版本 scm-manager 独立安装包 https://www.scm-manager.org/download/ 解压 为合适的路径 修改 services.bat 文件服务相关信息 ...
- 【css】响应式布局入门【转】
最近研究响应式设计框架的时候,发现网上很多相关的属性介绍,却很少有系统的入门级使用的文章,我自己整理了一篇入门知识,并没有什么高深的理论,也不牵扯到框架. 目前已经越来越多的站点以及wap站点使用响应 ...
- mysql服务1067错误:修改mysql可执行文件路径
今天遇到mysql服务1067错误的问题,设置使用系统账户也无法启动mysql,后面认证看了系统的配置信息,发现启动文件也就是mysql安装路径是之前的(也说明之前安装mysql,没去卸载直接安装新的 ...
- 2018-2019-2 《网络对抗技术》Exp2 后门原理与应用 20165210
2018-2019-2 <网络对抗技术>Exp2 后门原理与应用 20165210 实验内容: 使用netcat获取主机操作Shell,cron启动. 使用Socat获取主机操作Shell ...
- EasyRTMP+EasyRTSPClient实现的多路(支持断线重连)RTSP转RTMP直播推流工具
本文转自EasyDarwin开源团队成员Kim的博客:http://blog.csdn.net/jinlong0603/article/details/73441405 介绍 EasyRTMP是Eas ...
- Ubuntu在图形界面和命令行界面都循环登录解决办法
在做机器ip变化自动发送邮件的时候,在/etc/profile.d/目录下添加了一个脚本,重启的时候就循环登录了,无论是在图形界面还是命令行界面. 解决方法:利用系统U盘进入系统进行修改,具体如下: ...