VueJS - смотреть свойство

В этой главе мы узнаем о свойстве Watch. На примере мы увидим, что можем использовать свойство Watch в VueJS.

пример

<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. В свойстве данных километры и метры инициализируются значением 0. Существует объект часов, созданный с двумя функциями.kilometers и meters. В обеих функциях выполняется преобразование из километров в метры и из метров в километры.

Когда мы вводим значения в любое из текстовых полей, в зависимости от того, что было изменено, Watch позаботится об обновлении обоих текстовых полей. Нам не нужно специально назначать какие-либо события, ждать его изменения и выполнять дополнительную работу по проверке. Watch позаботится об обновлении текстовых полей с расчетами, выполненными в соответствующих функциях.

Давайте посмотрим на вывод в браузере.

Давайте введем некоторые значения в текстовое поле километров и посмотрим, как они меняются в текстовом поле метров, и наоборот.

Давайте теперь введем текстовое поле в метрах и посмотрим, как оно меняется в текстовом поле в километрах. Это отображение в браузере.