视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
vue directive定义全局和局部指令及指令简写
2020-11-27 22:03:48 责编:小采
文档


    测试案例步骤:

    1.首先需要在html中创建一个盒子

    2.接着需要通过实例化Vue并且通过el将盒子所对应的id进行绑定

    3.在盒子里面所对应的要自定义的标签上通过v-xxx标注

    局部定义的格式:

 directives:{
 'xxx':{
 bind:function(el,binding){
 el.style.xxx = binding.value
 }
 }
 }

 7.指令函数的简写

    function等同于将代码写入bind和update里

 directive:{ 
 'xxx':function(el,binding){
 el.style.xxx = binding.value
 }
 }
<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8" />
 <title></title>
 <script src="js/vue-2.4.0.js" type="text/javascript" charset="utf-8"></script>
 </head>
 <body>
 <div id="box">
 <p v-fontsize="'20px'" v-color="'green'">{{msg}}<input type="text" v-focus /></p>
 <p v-color="'red'">{{msg}}<input type="text" v-color="'red'" /></p>
 </div>
 </body>
 <script type="text/javascript">
 //使用Vue.directive()定义一个全局指令
 //1.参数一:指令的名称,定义时指令前面不需要写v-
 //2.参数二:是一个对象,该对象中有相关的操作函数
 //3.在调用的时候必须写v-
 Vue.directive('focus',{
 //1.指令绑定到元素上回立刻执行bind函数,只执行一次
 //2.每个函数中第一个参数永远是el,表示绑定指令的元素,el参数是原生js对象
 //3.通过el.focus()是无法获取焦点的,因为只有插入DOM后才生效
 bind:function(el){
 //el.focus()
 },
 //inserted表示一个元素,插入到DOM中会执行inserted函数,只触发一次
 inserted:function(el){
 el.focus()
 },
 //当VNode更新的时候会执行updated,可以触发多次
 updated:function(el){
 //el.focus()
 }
 })
 //自定义一个设置字体颜色指令
 Vue.directive('color',{
 //只要通过指令绑定给了元素,元素一定会显示在页面上
 //一般情况和样式有关的使用bind函数
 bind:function(el,binding){ //通过binding来传递值
 el.style.color = binding.value
 }
 })
 //实例化Vue
 var vm = new Vue({
 el:'#box',
 data:{
 msg:'测试:'
 },
 //定义一个局部指令
 directives:{ //自定义一个局部指令
 'color':{ //设置字体颜色
 bind:function(el,binding){
 el.style.color = binding.value
 }
 },
 //指令函数的简写:
 //function等同于将代码写入bind和update里
 'fontsize':function(el,binding){ //设置字体大小
 el.style.fontSize = parseInt(binding.value) + 'px' 
 }
 }
 })
 </script>
</html>

总结

以上所述是小编给大家介绍的vue  directive定义全局和局部指令及指令简写,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

下载本文
显示全文
专题