1. 程式人生 > >vue.js @click 與屬性 $watch 的結合使用

vue.js @click 與屬性 $watch 的結合使用

 Vue.js 監聽屬性 watch,我們可以通過 watch 來響應資料的變化。

以下例項通過使用 watch 實現計數器:

<body>
<div id = "app">
 <p style = "font-size:25px;">計數器: {{ counter }}</p>
 <button @click = "counter++" style = "font-size:25px;">點我</button>
</div>
<script type = "text/javascript">
 var vm = new Vue({
    el: '#app',
    data: {
       counter: 1
    }
 });
 vm.$watch('counter', function(nval, oval) {
    alert('計數器值的變化 :' + oval + ' 變為 ' + nval + '!');
 });
</script>

-----------也可以改成-------------------

<div id = "app">
    <p style = "font-size:25px;">計數器: {{ counter }}</p>
   <!-- <button @click = "counter++" style = "font-size:25px;">點我</button>-->
    <button @click = "countClick" style = "font-size:25px;">點我</button>
</div> </body> </html> <script type = "text/javascript"> var vm = new Vue({ el: '#app', data: { counter: 1 }, methods:{ countClick: function(){ return this.counter ++; } } }); vm.$watch('counter', function(nval, oval) { alert('計數器值的變化 :' + oval + ' 變為 ' + nval + '!'); }); </script>