开发学院

您的位置:首页>教程>正文

教程正文

VueJS Watch 属性

VueJS Watch 属性

  在本章中,我们将了解Watch属性。使用一个例子,我们将看到可以在VueJS中使用Watch属性。

例子

<html>
   <head>
      <title>VueJs Instance</title>
      <script type = "text/javascript" src = "js/vue.js"></script>
   </head>
   <body>
      <div id = "computed_props">
         Kilometers : <input type = "text" v-model = "kilometers">
         Meters : <input type = "text" v-model = "meters">
      </div>
      <script type = "text/javascript">
         var vm = new Vue({
            el: '#computed_props',
            data: {
               kilometers : 0,
               meters:0
            },
            methods: {
            },
            computed :{
            },
            watch : {
               kilometers:function(val) {
                  this.kilometers = val;
                  this.meters = val * 1000;
               },
               meters : function (val) {
                  this.kilometers = val/ 1000;
                  this.meters = val;
               }
            }
         });
      </script>
   </body>
</html>

  在上面的代码中,我们创建了两个文本框,一个带有kilometers,另一个带有meters。在data属性中,kilometers和meters初始化为0。有一个watch对象创建了两个函数kilometers和 meters 。在这两个功能中,从公里到米和从米到公里的转换都完成了。

  当我们在任何texbox中输入值时,Watch将负责更新这两个文本框。我们不需要专门分配任何事件,并等待其更改和执行额外的验证工作。watch负责使用在相应函数中完成的计算更新文本框。

  让我们看看浏览器中的输出。

textbox.jpg

  让我们在“公里”文本框中输入一些值,并在“米”文本框中看到它的变化,反之亦然。

textbox_changes.jpg

  现在,让我们在“米”文本框中输入,并在“公里”文本框中看到它的变化。这是在浏览器中看到的显示。

watch.jpg