vue拖拽案例

本案例基于vue自定义指令和原生js的写法实现的。



	
		
		vue拖拽
		
		
	
	
		
1
2
3
4

关键代码

自定义指令总结:

  • 写法
  1. 全局写法        Vue.directive(名字',{inserted:function(el){   /*这个元素插入父元素的时候执行的操作*/    el.focus(); } })
  2. 私有属性写法    directives:{'focus':{  inserted:function(el){   /*这个元素插入父元素的时候执行*/  el.focus(); }}}

其中,function中可以写两个参数,第一个参数指向给定自定义指令的元素,比如上例中的参数a就是指向class为squal的div;

第二个参数是绑定的自定义属性后面传的参数,形式不同,传参也不同,可以参见下面一张图。

vue拖拽案例_第1张图片

  • 自定义指令里面的钩子函数
  1. bind:只调用一次,指令第一次绑定到元素时调用,用这个钩子函数可以定义一个在绑定时执行一次的初始化动作。
  2. inserted: 被绑定元素插入父节点时调用。(bind与该生命周期钩子函数作用十分类似)
  3. update: 被绑定元素所在模板更新时调用,不论绑定值是否变化。通过比较更新前后的绑定值,可忽略不必要的模板更新。
  4. componentUpdated: 被绑定元素所在模板完成一次更新周期时调用。
  • 简写形式
  1. Vue.directive('bgcolor',function(el,binding){el.style.background=binding.value; })
  2. directives:{  /*简写 表示bind 和update的时候都会执行*/'color':function(el,binding){el.style.color=binding.value;}}

关于自定义写法的代码如下:



	
		
		自定义指令
		
	
	
		

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi iure necessitatibus autem officia voluptatem. Molestias nobis fuga quibusdam sint deserunt iure atque id quidem dignissimos accusamus temporibus praesentium voluptatem modi.

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Debitis facere temporibus dignissimos rerum atque suscipit commodi. Harum nostrum incidunt atque doloremque odit eos reprehenderit nisi vel deleniti ab autem quos.

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Facere asperiores nesciunt ea quae laudantium adipisci illum sunt doloremque vel sapiente a nostrum cupiditate officia ullam similique illo reiciendis ut natus.

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ut repudiandae accusamus nobis quis alias. Modi est consequuntur repellat illo rerum a culpa enim dignissimos odio libero nam error. Rem quibusdam.

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fugiat nemo quos consequuntur quod ea inventore mollitia cupiditate assumenda pariatur dolor qui blanditiis ab necessitatibus quae illo deserunt officiis harum atque?

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium hic itaque sapiente molestias temporibus obcaecati deleniti eligendi vero laboriosam eius natus illum veniam earum! Repudiandae maiores voluptates dolore libero nostrum.

关于自定义指令中钩子函数的写法见下:









	

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Beatae nam eos ad esse adipisci sequi sit quis sapiente labore nihil. Accusamus aut deleniti doloribus incidunt ex reiciendis id similique dolore.

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Id sit reiciendis illum quisquam voluptates autem nostrum aspernatur! Maiores voluptatibus ipsum modi harum illo amet ab tempora architecto blanditiis corporis dolores!

{{str}}

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consequuntur asperiores dicta excepturi magni quisquam aliquam magnam eaque voluptate soluta eveniet facilis ipsum quidem iusto accusamus impedit libero numquam minus quasi!

 

你可能感兴趣的:(vue,vue)