美文网首页Vue让前端飞饥人谷技术博客
vue学习笔记10——Vue-directive 自定义指令

vue学习笔记10——Vue-directive 自定义指令

作者: 椰果粒 | 来源:发表于2017-07-26 15:48 被阅读123次

1. 全局API的概念
全局API并不在构造器里边,而是先声明全局变量或直接在vue上定义一些新的功能,vue内置了一些全局API,比如Vue.directive。简单说是在构造器外部用Vue提供给我们的API函数来定义新的功能。以下是Vue的全局API

  • Vue.extend
  • Vue.nextTick
  • Vue.set
  • Vue.delete
  • vue.directive
  • Vue.filter
  • Vue.component
  • Vue.use
  • Vue.mixin
  • Vue.compile
  • Vue.version

2. 复习一下构造器的概念

var app = new Vue({
    el : '#app',
    data : {
        count : 1
    }
})

这就是一个构造器,而全局API写在这种构造器的外面
3. Vue-directive 自定义指令:注册或获取全局指令

<div id="app">
    <div v-fjw="color">{{num}}</div>
    <button v-on:click="add">add</button>
    <button onclick="unbind()">解绑</button>
</div>

Vue.directive("fjw",function(el,binding){// 两个参数,自定义指令的名称,所对应的方法。方法中有三个参数,el,binding,vnode
    console.log(el);    // el代表当前绑定的元素
    console.log(binding);// binding是一个对象,有name,value,等属性    
    console.log(binding.name);// 自定义指令的名称
    console.log(binding.value);// 自定义指令对应的值,存在于data中
    el.style = "color:" + binding.value;
});
var app = new Vue({
    el : '#app',
    data : {
        num : 10,
        color : 'red'
    },
    methods : {
        add : function(){
            this.num++;
        }
    }
})

4. 自定义指令有5个声明周期(也叫钩子函数)

  • bind 只调用一次,指令第一次绑定到元素时调用
  • inserted 被绑定元素插入到父节点时调用(父节点存在即可调用,不必存在于document中)
  • update 被绑定的元素所在的模板更新时调用,而无论绑定值是否变化,通过比较更新前后的绑定值,可以忽略不必要的模板更新
  • componentUpdated 被绑定元素所在模板完成一次更新周期时调用
  • unbind 指令与元素解除绑定时,只调用一次
// 解绑
function unbind(){
    app.$destroy();
}
Vue.directive("fjw",{
    bind:function(el,binding){
        console.log('1-bind');
        el.style = "color:" + binding.value;
    },
    inserted:function(){
        console.log("2-inserted");
    },
    update:function(){
        console.log("3-update");
    },
    componentUpdated:function(){
        console.log("4-componentUpdated");
    },
    unbind:function(){
        console.log("5-unbind");
    }
})

5. 自定义指令和组件区别
自定义指令Vue.drective定义的是标签属性,组件定义的是标签

相关文章

  • vue自定义指令directive

    关于vue自定义指令directive官方文档的解释如下:自定义指令Vue-directive的用法相信官网对于自...

  • vue学习笔记10——Vue-directive 自定义指令

    1. 全局API的概念全局API并不在构造器里边,而是先声明全局变量或直接在vue上定义一些新的功能,vue内置了...

  • vue-directive自定义指令

    基础概念 主要是官网内容,对指令的基本内容进行介绍 应用情景: 对dom元素进行操作时 分类: 全局指令 局部指令...

  • season2-全局API

    第1节:Vue.directive 自定义指令 Vue.directive自定义指令 自定义的指令:changec...

  • Vue div节点滚动事件-加载更多

    使用Vue.directive注册全局指令 绑定事件 对于Vue自定义指令不明白的同学请移步: Vue自定义指令 ...

  • Vue-02:

    一.Vue的指令: 分为两大类;内置指令和自定义指令;今天我们就来学习一下Vue的内置指令; 1.>v-for :...

  • VUE-2:自定义指令、事件

    directive自定义指令 我们还可以通过`Vue`提供的directive方法来自定义指令 注册指令 `vue...

  • vue入门6---vue基本指令、自定义指令、插件

    一、vue常用指令概览 二、vue自定义指令 注册全局指令Vue.directive('my-directive'...

  • vue自定义指令初探

    vue自定义指令初探 一、什么是自定义指令 自定义指令是用来操作DOM的。尽管Vue推崇数据驱动视图的理念,但并非...

  • vue 有自定义指令

    vue 的自定义指令,分为全局自定义指令和局部自定义指令,局部自定义指令等价于局部组件。 自定义指令可以对DOM进...

网友评论

    本文标题:vue学习笔记10——Vue-directive 自定义指令

    本文链接:https://www.haomeiwen.com/subject/tuugkxtx.html