如何写一个vue指令directive
举个例子 :clickoutside.js
const clickoutsideContext = '@@clickoutsideContext';export default {/*@param el 指令所绑定的元素@param binding {Object} @param vnode vue编译生成的虚拟节点*/bind (el, binding, vnode) {const documentHandler = function(e) {console.log(el)console.log(e.target);console.log(vnode);console.log(binding);if(!vnode.context || el.contains(e.target)) {return false;}if (binding.expression) {vnode.context[el[clickoutsideContext].methodName](e)} else {el[clickoutsideContext].bindingFn(e);}}el[clickoutsideContext] = {documentHandler,methodName: binding.expression,bindingFn: binding.value}setTimeout(() => {document.addEventListener('click', documentHandler);}, 0)},update (el, binding) {el[clickoutsideContext].methodName = binding.expression;el[clickoutsideContext].bindingFn = binding.value;},unbind(el) {document.removeEventListener('click', el[clickoutsideContext].documentHandler);} }
directive是怎么实现的呢?
1、在binding中写绑定方法
2、方法需要写在一个环境(context)中,放置泄露
如上定义了:el[clickoutsideContext]
转载于:https://www.cnblogs.com/heyinwangchuan/p/8052211.html
如何写一个vue指令directive相关推荐
- 如何写一个Vue自定义指令
Vue除了核心功能默认内置的指令 ,Vue 也允许注册自定义指令. 自定义指令是用来操作DOM的.尽管Vue推崇数据驱动视图的理念,但并非所有情况都适合数据驱动.自定义指令就是一种有效的补充和扩展,不 ...
- 面试题:你能写一个Vue的双向数据绑定吗?
在目前的前端面试中,vue的双向数据绑定已经成为了一个非常容易考到的点,即使不能当场写出来,至少也要能说出原理.本篇文章中我将会仿照vue写一个双向数据绑定的实例,名字就叫myVue吧.结合注释,希望 ...
- 面试题:你能写一个 Vue 的双向数据绑定吗?
作者:呆头呆脑丶 segmentfault.com/a/1190000014274840 在目前的前端面试中,vue的双向数据绑定已经成为了一个非常容易考到的点,即使不能当场写出来,至少也要能说出原理 ...
- 写一个Vue的双向数据绑定
原文 https://segmentfault.com/a/1190000014274840 在目前的前端面试中,vue的双向数据绑定已经成为了一个非常容易考到的点,即使不能当场写出来,至少也要能说出 ...
- 你能写一个 Vue 的双向数据绑定吗?
在目前的前端面试中,vue的双向数据绑定已经成为了一个非常容易考到的点,即使不能当场写出来,至少也要能说出原理.本篇文章中我将会仿照vue写一个双向数据绑定的实例,名字就叫myVue吧.结合注释,希望 ...
- 手写一个vue中英文翻译组件
1:下载vue-i18n插件 npm install vue-i18n 2:创建中英文js文件 在文件中写入需要翻译的内容 中文版cn.js export const m = {help: " ...
- 分享:你会写一个vue的双向数据绑定吗?
<!DOCTYPE html> <html> <head><title></title> </head> <body> ...
- 写一个简单易用可扩展vue表单验证插件(vue-validate-easy)
写一个vue表单验证插件(vue-validate-easy) 需求 目标:简单易用可扩展 如何简单 开发者要做的 写了一个表单,指定一个name,指定其验证规则. 调用提交表单方法,可以获取验证成功 ...
- vue从入门到进阶:自定义指令directive,插件的封装以及混合mixins(七)
一.自定义指令directive 除了核心功能默认内置的指令 (v-model 和 v-show),Vue 也允许注册自定义指令.注意,在 Vue2.0 中,代码复用和抽象的主要形式是组件.然而,有的 ...
最新文章
- 华为鲲鹏高校行长沙启航,助力基础研究成果转化
- JS循环绑定对象或变量
- epub阅读器_推荐一款Epub(windows版)阅读软件,附下载安装教程
- 安装archlinux_archlinux/manjaro 上安装percona-server
- 数据镜像备份工具rsync
- php如何输出复选框的值,php 怎么输出复选框呢?
- 前端python与php_WEB前端、PHP、python这三个学习哪一个比较好?
- python对日期型数据排序_如何对日期执行数学运算并用Python对它们进行排序?
- Mybatis框架相关知识讲解
- 全球首台商用量子计算机发布!体积如同大象,算力不及笔记本
- 终面后拿offer几率_战绩 | 恭喜VIP学员斩获德勤(北京)风险分析师全职Offer!...
- Python实战之Selenium自动化测试web刷新FW
- 【java与智能设备】01_2Android简介与环境搭建——开发环境
- 顺序表构建学生信息管理系统(C++)
- 关于调研微信的几点理解
- layui 之可搜索的下拉框select lay-serach
- html简繁体转换,在线繁体字转换工具
- 如何把妹子拍得更好看?
- Android 热点开启流程
- python:24点游戏