天天看點

jquery監聽文本框變化與vue的代碼比較

最近在入門學習vue,網上強調的好處是vue的資料雙向綁定,如果要做一個監聽html的文本框輸入變化的例子,網上給出的實際代碼示例如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript"
	src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.1.8/vue.min.js">
</script>


</head>
<body>
	<!--view層
{{}}表示文本插值,運作{{message}}會被資料對象的message屬性替換。
  -->
	<div id="app">

		<p>{{message1}}<input type="text" v-model="message1" /></p>
        <p>{{message2}}<textarea v-model="message2"></textarea></p>
		
        <input type="radio" v-model="radio1" />aa
        <input type="radio" v-model="radio1" />bb

	</div>

<script>
	/* Model層 */
	var exampleData = {
		message1 : 'hello World!',
        message2 : 'AAAA',
        radio1 : false
        
	}
	/*     ViewModel層,連接配接view和model層
	 vue執行個體需要傳入一個選項對象
	 選項對象包括挂載對象,資料,方法,模生命周期鈎子(?)
	 el屬性指向view,表示把vue執行個體綁定某個dom元素
	 */
	new Vue({
		el : '#app',
		data : exampleData
	})
</script>
</body>



</html>
           

但是同樣,用jquery實作這個在文本框裡,輸入了内容,其它div區域跟着便文字的功能,也很簡單哦!也沒見得vue強大到那裡去!

<html>
  <head>
    <title>hangge.com</title>
    <meta charset="utf-8"/>
    <script type="text/javascript" src="jquery-2.0.3.min.js"></script>
    <script>
      $(document).ready(function(){
        $('#comment').on('input propertychange', function() {

         $('#tip').html($(this).val());
        });
      });
    </script>
  </head>
  <body>
    <textarea id="comment" rows="5" cols="50"></textarea>
    <br>
    <div id="tip"></div>
  </body>
</html>