Vue.js(16)之 directive自定义指令】的更多相关文章

一.监听数据变化 1.监听数据变化有两种,深度和浅度,形式如下: vm.$watch(name,fnCb); //浅度 vm.$watch(name,fnCb,{deep:true}); //深度监视 2.实例用法 2.1-1浅度监听:当点击页面,弹出发生变化了,a的值变为1,b的值变为101 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">…
一.什么是全局API? 全局API并不在构造器里,而是先声明全局变量或者直接在Vue上定义一些新功能,Vue内置了一些全局API,比如我们今天要学习的指令Vue.directive.说的简单些就是,在构造器外部用Vue提供给我们的API函数来定义新的功能. 二.Vue.directive自定义指令 我们在第一季就学习了内部指令,我们也可以定义一些属于自己的指令,比如我们要定义一个v-jspang的指令,作用就是让文字变成绿色. 在自定义指令前我们写一个小功能,在页面上有一个数字为10,数字的下面…
目录 Vue2.0 [第二季]第1节 Vue.directive自定义指令 一.什么是全局API? 二. Vue.directive自定义指令 三.自定义指令中传递的三个参数 四.自定义指令的生命周期 Vue2.0 [第二季]第1节 Vue.directive自定义指令 一.什么是全局API? 全局API并不在构造器里,而是先声明全局变量或者直接在Vue上定义一些新功能,Vue内置了一些全局API,比如我们今天要学习的指令Vue.directive.说的简单些就是,在构造器外部用Vue提供给我们…
directive自定义指令 除了默认设置的核心指令( v-model 和 v-show ),Vue 也允许注册自定义指令. 注意,在 Vue2.0 里面,代码复用的主要形式和抽象是组件——然而,有的情况下,你仍然需要对纯 DOM 元素进行底层操作,这时候就会用到自定义指令. 官方建议directive是对纯 DOM 元素进行底层操作使用,一般情况下还是建议使用组件的复用. directive的意义 自定义指令是用来操作DOM的. 尽管数据驱动是Vue的核心之一,但是在实际情况下,并不是所有的情…
1 应用于单个元素 Vue.js 中的条件渲染指令可以根据表达式的值,来决定在 DOM 中是渲染还是销毁元素或组件. html: <div id="app"> <p v-if="type===1">拌面</p> <p v-else-if="type===2">扁肉</p> <p v-else="type===3">其它</p> </div…
推荐阅读:Vue.directive基础,在Vue模块开发中使用 全局指令 Vue.directive('全局自定义指令名称', { /* 自定义指令配置对象 */ }) 私有指令 <template></template> <script> export default { directives: { '私有自定义指令名称': { /* 私有自定义指令配置对象 */ } } } </script> 指令配置对象中 bind 和 inserted 的区别 b…
1.今天复习一下Vue自定义指令的代码,结果出现一个很无语的结果,先贴代码. 2. <div id="example" v-change-by="myColor"></div> <script src="vue.min.js"></script> <script> new Vue({ el:"#example", data:{ msg:"", my…
Vue除了内部指令,我们也可以定义一些属于自己的指令,比如我们要定义一个v-diy的指令,作用就是让文字变成红色. 写好了这个功能,我们现在就自己定义一个全局的指令.我们这里使用Vue.directive( ); html <div v-diy="color">{{message}}</div> js Vue.directive('diy',function(el,binding,vnode){ el.style='color:'+binding.value;…
前言 最近优化项目-手机拍照图片太大,回显速度比较慢,使用了vue的自定义指令实现H5压缩上传base64格式的图片 canvas自定义指令 Vue.directive("canvas", { bind: function (el, binding) { // 压缩图片需要的一些元素和对象 var reader = new FileReader(), img = new Image(); // 选择的文件对象 var file = null; // 缩放图片需要的canvas var…
前言: 网站中的input输入框使用非常广泛,因业务场景不同需要对输入框做合法性校验或限制输入,比如电话号码.邮件.区号.身份证号等.input框的不合法内容主要有两种方式处理:1.用户输入内容后,通过规则验证告知用户不合法,2.禁止输入不符合规则字符.下面基于第2种情况,针对Vue中的input控件通过自定义指令(directive),使用正则表达式限制input控件的输入. 工作流程: input控件绑定v-model ---> 通过自定义指令(v-restrict)设定验证的正则表达式 -…
第三章:指令 1.语法 指令以v-打头,它的值限定为绑定表达式,它负责的是按照表达式的值应用某些行为到DOM上. 内部指令有v-show,v-else,v-model,v-repeat,v-for,v-text,v-el,v-html,v-on,v-bind,v-ref,v-pre,v-cloak,v-if. 2.内部指令 (1)控制元素的显示与否:v-if,v-show.v-else v-if是真实的条件渲染,根据表达式的true/false在DOM中生成或移除一个元素. 第一,这个指令是惰性…
先来看一下自定义指令的写法 app.directive('', ['', function(){ // Runs during compile return { // name: '', // priority: 1, // terminal: true, // scope: {}, // {} = isolate, true = child, false/undefined = no change // controller: function($scope, $element, $attrs…
1. 内置指令 指令是Vue.js 中一个重要的特性,主要提供了一种机制将数据的变化映射为DOM 行为. Vue.js 本身提供了大量的内置指令来进行对DOM 的操作,同时可以开发自定义指令. 2. 自定义指令 在 Vue 2.0 中,代码重用和抽象(reuse and abstraction)的主要是以组件的形式. 但是,可能某些情况下,还是需要对普通元素进行一些底层 DOM 访问,这是自定义指令的使用场景之处. 2.1 注册指令 2.1.1 全局自定义指令 Vue.directive(id,…
过滤器: 过滤是一个数据经过了这个过滤之后出来另一样东西,可以是从中取得你想要的,或者给那个数据添加点什么装饰.过滤器就是过滤用的工具.渲染数据用的!!! 我们需要知道的是: 1.Vue中的过滤器不能替代Vue中的methods.computed或者watch. 2.过滤器不改变真正的data,而只是改变渲染的结果,并返回过滤后的版本. 一.品牌项目的添加功能的思路(双向数据绑定): 二.过滤器: 1.过滤器调用时候的格式: {{ name | 过滤器的名称 }} 2.过滤器的定义语法: Vue…
首先需要在keyup事件之后. 修饰符 来绑定事件 <body> <div class="box"> <!-- 这里的 @keyup.enter="enterkeyup" enter是修饰符=回车 你也可以使用13 键盘码--> <input v-on:click="enterkeyup" @keyup.13="enterkeyup" type="button" v…
<div id="app"> //v-color 是自定义的 <input type="text" class="form-control" v-color="'blue'"/> </div> <script> //自定义一个设置字体颜色的指令Vue.directive('color', {    //样式,只要通过指令绑定给了元素,不管这个元素有没有被插入到页面中去,这个元素就…
v-if 指令用于条件性地渲染一块内容.这块内容只会在指令的表达式返回true值的时候被渲染. v-else-if,顾名思义,充当 v-if 的“else-if 块”,可以连续使用: 也可以使用 v-else 指令来表示 v-if 的“else 块”: 挺好理解的,就和大多数的语言的if()....else if()...else逻辑语句是一样的,例如: <!DOCTYPE html> <html lang="en"> <head> <meta…
Vue.js为两个最为常用的指令提供了特别的缩写: v-bind缩写 <!--完整语法--> <a v-bind:href="url">测试</a> <!--缩写--> <a :href="url">测试</a> v-on缩写 <!--完整语法--> <a v-on:click="doSomething">修改</a> <!--缩写-…
<input type="text" class="form-control" v-model="keywords" v-focus> 使用vue.directive(‘focus’,{对象})定义全局指令,v-focus <script> Vue.directive('focus',{ // 在每一个函数中,第一个参数,永远是el,表示被绑定了指令的那个元素, // 这个el参数,是一个原生的js对象,也就是dom bi…
作用:需要用Directive有下面的情景: 1.使你的Html更具语义化,不需要深入研究代码和逻辑即可知道页面的大致逻辑. 2. 抽象一个自定义组件,在其他地方进行重用. 3.使用公共代码,减少重复使用,减少重复代码, 指令的属性: 其中对scope进行研究: scope属性的3种取值: 1.false(默认值) 当使用false可以理解成指令内部并没有一个新的scope,它和指令以外的代码共享同一个scope,即指令里的scope和controller里的$scope相同,---------…
Vue.js 允许你注册自定义指令,实质上是让你教 Vue 一些新技巧:怎样将数据的变化映射到 DOM 的行为.你可以使用Vue.directive(id, definition)的方法传入指令id和定义对象来注册一个全局自定义指令.定义对象需要提供一些钩子函数(全部可选): bind: 仅调用一次,当指令第一次绑定元素的时候. update: 第一次是紧跟在 bind 之后调用,获得的参数是绑定的初始值:以后每当绑定的值发生变化就会被调用,获得新值与旧值两个参数. unbind:仅调用一次,当…
基础 除了内置指令,Vue.js 也允许注册自定义指令.自定义指令提供一种机制将数据的变化映射为 DOM 行为. 可以用 Vue.directive(id, definition) 方法注册一个全局自定义指令,它接收两个参数指令 ID 与定义对象.也可以用组件的 directives 选项注册一个局部自定义指令. 钩子函数 定义对象可以提供几个钩子函数(都是可选的): bind:只调用一次,在指令第一次绑定到元素上时调用. update: 在 bind 之后立即以初始值为参数第一次调用,之后每当…
  = 导航   顶部 vue.js介绍 vue.js实例 模板语法 计算属性 样式绑定 条件渲染 列表渲染 事件处理器 表单控件绑定 组件   顶部 vue.js介绍 vue.js实例 模板语法 计算属性 样式绑定 条件渲染 列表渲染 事件处理器 表单控件绑定 组件 全面教程 vue.js介绍 Vue.js 是用于构建交互式的 Web 界面的库.Vue.js 提供了 MVVM 数据绑定和一个可组合的组件系统,具有简单.灵活的 API.从技术角度讲,Vue.js 专注于 MVVM 模型的 Vie…
除了核心功能默认内置的指令,Vue也允许注册自定义指令 页面加载后,让文本框自动获取焦点,原生js做法是获取文本框元素后调用focus()方法,但Vue不建议手动操作DOM元素,所以此时要自定义指令 这里需要注意的是v-on指令绑定focus事件的方式是实现不了上面需求的,区别就像onfocus和focus(),前者是事件绑定,当元素获得焦点时去执行事件处理函数,而后者是方法,调用后会让元素获得焦点,onclick和click()同理 自定义全局指令 Vue.directive( ' 自定义指令…
VUE:内置指令与自定义指令 常用的内置指令 1)v:text 更新元素的 textContent 2)v-html 更新元素的 innerHTML 3)v-if 如果为true,当前标签才会输出到页面 4)v-else 如果为false,当前标签才会输出到页面 5)v-show 通过控制display样式来控制显示/隐藏 6)v-for 遍历数组/对象 7)v-on 绑定事件监听,一般简写为@ 8)v-bind 强制绑定解析表达式,可以省略v-bind 9)v-model 双向数据绑定 10)…
原文:https://dev.to/ratracegrad/creating-custom-directives-in-vue-58hh 翻译:心上有杨 指令是带有 v- 前缀的特殊属性.指令的作用是当表达值发生变化时将副作用反应性地应用于 DOM.Vue.js 提供了大量的指令供你使用.你可能已经使用过 v-if.v-repeat.v-model 和 v-show 等指令. 在这篇文章中,我将解释指令的各个部分以及可以使用的内容.然后我将向你展示如何创建自定义指令以便您可以将编程需求直接应用于…
import Vue from 'vue' Vue.directive('longpress', function (el, binding){ var timer = null; var start = function (e) { // 如果是点击事件,不启动计时器,直接返回 if (e.type === 'click'){ return } if (timer == null){ // 创建定时器 ( 2s之后执行长按功能函数 ) timer = setTimeout(function (…
[第1103期]vue 自定义指令的魅力 点点 前端早读课 2017-11-08 前言 很多事情不能做过多的计划,因为计划赶不上变化.今日早读文章由富途@点点翻译分享. 正文从这开始- 在你初次接触一个新的Javascript框架时,会像第一次进糖果店的孩子一样.给啥拿啥,而更直接点,有些东西可以让你更容易成为一个开发者.不可避免的是,我们在用框架时都会有一个同感,就是总有些场景是框架不能帮我们完成的. Vue框架的漂亮之处在于它的功能非常强大,虽然这个框架的指令不够面面俱到,但也能在开发上助你…
v-cloak:解决网速延迟 闪烁问题v-text=msg: 和{{}}表达式一样,没有闪烁问题,但是前后不能加别的,覆盖原本的内容 innerTextv-html=msg:innerHtml,一样可以打印标签v-band:src='msg':为元素绑定属性;可以这样写 : src='msg' 也可以写一些js表达式 :src='"..//"+msg'v-on:click='show':事件绑定机制 对应的在 mehods 对象 绑定的方法 或者 @表示 事件 修饰符@click.st…
近期所学的Vue.js这个MVVM前端技术缓解了我一直愁于前后端开发杂糅所带来的痛苦.今天就来说说关于Vue.js里面的Directive知识. Directive Directive看上去虽然和Angular中的定义类似,Directive都是对DOM功能的一种拓展,但是Vue的Directive要弱的多. 因为,Vue Component本来就包括对DOM的操作,所以大多数时候我们写一个通用组件都是一个Component而不是一 个Directive,但是在Angular中每写一个通用组件,…