Vue 2.0 监听文本框内容变化及 ref的使用说明

[html]  view plain  copy
  1. <!DOCTYPE html>  
  2. <html lang="en">  
  3.   
  4.     <head>  
  5.         <meta charset="UTF-8">  
  6.         <title>Title</title>  
  7.         <link rel="stylesheet" href="css/bootstrap.css">  
  8.         <script src="js/jquery-3.2.1.min.js"></script>  
  9.         <script src="js/bootstrap.js"></script>  
  10.         <script src="js/vue.js"></script>  
  11.     </head>  
  12.   
  13.     <body>  
  14.         <div id="example">  
  15.             <input type="text" v-model="items.type" ref="type" />  
  16.             <div class="show">输入框的内容:{{items.type}}</div>  
  17.         </div>  
  18.         <script>  
  19.             var example1 = new Vue({  
  20.                 el: '#example',  
  21.                 data: {  
  22.                     items: {  
  23.                         type: '千年之恋:'  
  24.                     }  
  25.                 },  
  26.                 watch: {  
  27.                     items: {  
  28.                         handler: function() {  
  29.                             alert(this.$refs.type.value);  
  30.                         },  
  31.                         deep: true  
  32.                     }  
  33.                 }  
  34.             })  
  35.         </script>  
  36.     </body>  
  37.   
  38. </html>  


ref说明

<div class="touchscroll">

//

</div>

如果我们想要获取这个div的某个值,比如scrollTop的值,常规的做法是我们必须用document.querySelector(".touchScroll")获取这个dom节点,然后在获取scrollTop的值。

但是用ref绑定之后,我们就不需要在获取dom节点了,直接在上面的div上绑定div,然后$refs里面调用就行

因此上面可以写成:

<div class="touchscroll" ref='div'>

//

</div>

然后在javascript里面这样调用:

this.$refs.div.scrollTop.

这样就可以减少获取dom节点的消耗了

猜你喜欢

转载自blog.csdn.net/dx18520548758/article/details/79864136