vue 值發生改變時執行函數,重點(_.debounce)

 VUE 當input或者一個變量發生改變時執行 一個對應的方法,具體如下:

`_.debounce` 是一個通過 Lodash 限制操作頻率的函數。
`_.debounce` 函數 (及其近親 `_.throttle`) 的知識,
請參考:https://lodash.com/docs#debounce

<!DOCTYPE html>
<html lang="en">
<meta name="viewport" content="width=device-width">
<!-- 引入樣式文件 -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/lib/index.css">

<!-- 引入 Vue 和 Vant 的 JS 文件 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/vant.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lodash.min.js"></script>
<!-- 引入 阿里Iconfont圖標 JS 文件 -->
<script src="//at.alicdn.com/t/font_1501305_2sb8mt25553.js"></script>

</head>
<body>
	<div id="app">
		<input v-model="textValue" type="text" name="textValue">    
	</div>
</body>
	<script>
	  // 在 #app 標籤下渲染一個按鈕組件
	  var vm = new Vue({
	    el: '#app',
	    data:{
	    	textValue:'1000122'
	    },
		methods: {
			// `_.debounce` 是一個通過 Lodash 限制操作頻率的函數。
		    // `_.debounce` 函數 (及其近親 `_.throttle`) 的知識,
		    // 請參考:https://lodash.com/docs#debounce
			updateValue: _.debounce(function(){
				console.log(this.textValue);
			},500)
		},
		 watch: {
		    // 如果 `textValue` 發生改變,這個函數就會運行
		    textValue: function (newQuestion) {
		      this.updateValue();
		    }
		  }
	  });
	// 調用函數組件,彈出一個 Toast
	  vant.Toast('歡迎使用');
</script>
</html>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章