清风无虑skr 2020-06-13 01:20 采纳率: 0%
浏览 1989

vue监视watch属性如何同时监听三个值的变化?

  • 想实现一个单位的自动换算,例如在千米表单中输入1,米和厘米自动显示在表单中;同理在厘米表单中输入数值,自动转换为千米和厘米

  • 遇到问题:
    好像不能实现另外两个的转换,就是说watch监听好像只能监听两个,添加厘米后千米转米和厘米可以,但米和厘米都不能转换为其他单位

<div id = "computed_props">
          <h1>单位换算</h1>
         千米 : <input type = "number" v-model = "kilometers">
         米 : <input type = "number" v-model = "meters">
        厘米:<input type = "number" v-model = "limeters">
      </div>

        <script>
        var vm1 = new Vue({
           el: '#computed_props',
           data: {
              kilometers : 0,
              meters:0,
              limeters:0
           },
           watch : {
              kilometers:function(val) {
                 this.kilometers = val;
                 this.meters = this.kilometers * 1000;
                 this.limeters = this.kilometers * 100000; 
              },
              meters:function (val) {
                 this.kilometers = val/1000;
                 this.meters = val;
                 this.limeters = val/100; 
              },
              limeters:function(val){
                  this.limeters = val;
                 this.kilometers = val/ 100000;
                 this.meters = val/100;

              }
           }
        });
      </script>
  • 写回答

2条回答 默认 最新

  • Dt_man 2020-06-23 20:12
    关注

    是不是换成计算属性会更好?

    评论

报告相同问题?