VueJS - 观察属性


在本章中,我们将了解 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>

在上面的代码中,我们创建了两个文本框,一个包含公里,另一个包含。在数据属性中,公里和米初始化为0。有一个使用公里两个函数创建的监视对象。在这两个函数中,都完成了从公里到米以及从米到公里的转换。

当我们在任何文本框中输入值时,无论哪个文本框发生了变化,Watch 都会负责更新两个文本框。我们不必专门分配任何事件并等待它发生变化并进行额外的验证工作。Watch 负责使用相应函数中完成的计算来更新文本框。

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

文本框

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

文本框更改

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

手表