猿问

写引用了为什么提示指令未解决?

  • HTML页

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Document</title>

<style type="text/css">

       [v-cloak]{

        display: none;

       }

</style>

</head>

<body>

<div id="app" v-cloak>

       <div class="main" v-clickoutside="handleClose">

                  <button @click="show =!show">点击显示下拉菜单</button>

                  <div class="dropdown" v-show="show">

                           <p>下拉框内容点击外侧区域可关闭</p>

                 </div>

      </div>  

</div>



<script type="text/javascript" src="./vue.js"></script>

<script type="text/javascript" src="./index.js"></script>

<script type="text/javascript" src="chickoutside.js"></script>


</body>

</html>

  • index页


var app =new Vue({

         el:'#app',

         data:  {

               show:false

       },

       methods:{

               handleClose:function(){

                       this.show=false;

       }

  }

});

  • clickoutside页


Vue.directive('clickoutside',{

          bind:function(el,binding,vnode){

                 function documentHandler (e){

                        if (el.contains(e.target)) {

                                   return false;

                         }

                         if (binding.expression) {

                              binding.value(e);

                        }

     }

          el._vueClickOutside_=documentHandler;

         document.addEventListener('click',documentHandler);

},

         unbind:function(el,binding){

                            document.removeEventListener('click',el._vueClickOutside_);

                             delete el._vueClickOutside_;

         }

});



生物怪兽
浏览 1015回答 1
1回答

慕设计2395807

PYNVFPYOEUXHDZCFIRNXABMPFJMPJUXTJBENKGCZPRUEIXGBXGWMOLGZORHXUWZIRHRNKHXUQRAXGZLOELUEGPFYWTJSOXUCXHCDYUXAWGCLHKEUIYBYHWMCROXORTKZIKNJANQGVETYADZWGPSGJZWEHKJSVLCLISNKMIYTDGWYJFVRZOKNJENQGJYIENJMVYVQADODGEGWZQEHQVETXUDAWSVLIRAKTPGCSCSNJLHEUQHWSIWSWSBYTWTBDRODMWMIKHDZIXTDXNFNQNCZBKUQGXAPKTTVEZCZISHRHODGKBXGPLTJZWDTRNJFVEBADMIYPSIEUQJFHJSCSHEUXXGPMTWYBXHRQZIYNKGDZIFHXZWZIRHRMOUJPDZZZKQDNRBKZPZUDRORACSWLVFVDTCMVENDFPDXDKAJSVFORYOYHBKAPGCHKMIFVQZIRHYNWTCSHWOEUEZWSNSOXUWSNXNCZWLHEOXZPFILZPXIEUDTCFITCSIFGWZISVNDTPGVEBYUEKNENQZHXNQZJFPMVLUXMCSKSNLPLBKUWGHJSWGCZBEUEUDGCEHJMOENPXSPRNDTPFIVLGLBDAWLBRJYMWTWLNKUJNGTWZSJFSUUAQUKUQNCYOXEAJFURNEGJMPFVWZORHDGCXNHKAWFVEBELTWZVSBEUWMNTGJSJVIYBLHDQNDGCSHKAWYASICSPZPFPFHXNDTIEVYYAWSWTCSVYANDAJMUKAWMVXAISIYVENJMNKADMQHRBXGBLAKADMBRGQJRIEBKHQGOKRUCSPZIYAQAOXGDFCLVEHKBBVOBVLZTPCOQAQAJGNWMJJLNXGJEGJZJSVDTXNDFPFVAQMWMCEHWGIFZCYAXAXNQYEHQEWEOJZJE

pardon110

全局自定义指令,书写位置需要在vue实例创建之前使用。换句话来讲,Vue.directive(...)部分,你应该写在new Vue 代码之前。
随时随地看视频慕课网APP
我要回答