Vue 自定义指令

Vue 自定义指令

规则

  1. 定义指令名称不能使用驼峰v-,要是用-连接,记得添加引号
  2. 使用时要v-自定义名称
  3. 函数写法:"名称"(节点,绑定对象){};对象写法:"名称":{bind(节点,绑定对象){}, inserted(节点,绑定对象){},update(节点,绑定对象){}
  4. 局部指令:写在实例化对象里
  5. 全局指令:写在实例化对象前

局部指令

语法:directives

  • bind成功绑定时调用
  • inserted成功插入页面调用
  • update重新解析时(改变)调用

对象式

<div id="app">
        <h1 v-sum="num"></h1>
        <button @click="num++">点击</button>
    </div>
 Vue.config.productionTip = false;
    var vm = new Vue({
        el: "#app",
        data() {
            return { num: 1 }
        },
        directives: {
            "sum": {
                // bind成功绑定时调用
                bind(element, binding) {
                    console.log(element);
                    console.log(binding);
                    element.innerHTML = binding.value * 10;
                    binding.value = binding.value * 10;

                },
                // inserted成功插入页面调用
                inserted(element, binding) {
                    element.innerText = binding.value * 100;
                    binding.value = binding.value * 100;
                    console.log(binding.value);
                },
                // update重新解析时(改变)调用
                update(element, binding) {
                    console.log(binding.value);
                    element.innerText = binding.value + binding.oldValue;
                    binding.value = binding.oldValue;
                }
            }
        }
    })

函数式

<div id="app">
        <h1 v-sum="num"></h1>
        <button @click="num++">点击</button>
    </div>
Vue.config.productionTip = false;
    var vm = new Vue({
        el: "#app",
        data() {
            return { num: 1 }
        },
        directives: {
            "sum"(element,binding){
            	element.innerText=binding.value+100;
            }
        }
    })

全局指令

语法:Vue.directive

  • bind成功绑定时调用
  • inserted成功插入页面调用
  • update重新解析时(改变)调用

对象式

<div id="app">
        <h1 v-sum-window="num"></h1>
        <button @click="func()">点击</button>
    </div>
Vue.config.productionTip = false;
Vue.directive(("sum-window",{
	bind(element,binding){},
	inserted(element,binding){
		element.innerHTML=binding.value;
		binding.value=binding.value;
	},
	update(element,binding){
		element.innerHTML=binding.value+binding.oldValue;
		binding.value=binding.oldValue;
	}
})
var vm = new Vue({
        el: "#app",
        data() {
            return { num: 0 }
        },
        methods:{
        	func(){
				this.num+=2;
			}
        }
    })

在这里插入图片描述

函数式

<div id="app">
        <h1 v-sum-window="num"></h1>
        <button @click="num++">点击</button>
    </div>
Vue.config.productionTip = false;
Vue.directive("sum-window", function (element, binding) {
        element.innerHTML = binding.value;
})
var vm = new Vue({
        el: "#app",
        data() {
            return { num: 0 }
        },
        methods:{
        	func(){
				if (this.num % 2 == 1) {
    				 this.num += 2;
    			} else {
    				this.num += 1;
   			   }
			}
        }
    })

在这里插入图片描述

在这里插入图片描述


  • 失联

最后编辑时间 2024,03,13;12:54

相关推荐

  1. Vue定义指令

    2024-03-14 23:38:02       46 阅读
  2. Vue定义指令

    2024-03-14 23:38:02       48 阅读
  3. Vue-------定义指令

    2024-03-14 23:38:02       37 阅读
  4. Vue定义指令

    2024-03-14 23:38:02       28 阅读
  5. vue定义指令

    2024-03-14 23:38:02       21 阅读
  6. (详解)Vue定义指令

    2024-03-14 23:38:02       65 阅读
  7. vue3定义指令

    2024-03-14 23:38:02       64 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-14 23:38:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-14 23:38:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-14 23:38:02       82 阅读
  4. Python语言-面向对象

    2024-03-14 23:38:02       91 阅读

热门阅读

  1. C# 一维数组以及二维数组使用

    2024-03-14 23:38:02       45 阅读
  2. 【一键生成sora科技感大片】

    2024-03-14 23:38:02       36 阅读
  3. Python编程哲学学习笔记

    2024-03-14 23:38:02       40 阅读
  4. 1688中国站获得实力档案信息 API 返回值说明

    2024-03-14 23:38:02       44 阅读
  5. 使用 React Router Dom 实现路由导航

    2024-03-14 23:38:02       41 阅读
  6. 【目标分类图像增强方法】

    2024-03-14 23:38:02       42 阅读
  7. Spring--注解

    2024-03-14 23:38:02       36 阅读
  8. C语言自学笔记7----C 语言 break和continue语句

    2024-03-14 23:38:02       38 阅读
  9. spring事务异常不回滚如何解决

    2024-03-14 23:38:02       40 阅读