Javascript 如何使用v-bind:value操作Vue让输入值v-model

Javascript 如何使用v-bind:value操作Vue让输入值v-model,javascript,vue.js,Javascript,Vue.js,像下面的代码一样,我希望用data-value2设置input2 v-model绑定,并且该值是从value1*2进行操作的,但它不起作用并抛出错误: [Vue warn]:编译模板时出错: v-bind:value=“value1*2”与同一元素上的v-model冲突,因为后者已在内部扩展为值绑定 var myObject=新的Vue({ el:“#应用程序”, 数据:{ 价值1:1, 价值2:1 } }) 我所尝试的: 我可以创建一个onchange方法来完成它,但它需要复制添加v-on

像下面的代码一样,我希望用data-value2设置input2 v-model绑定,并且该值是从value1*2进行操作的,但它不起作用并抛出错误:

[Vue warn]:编译模板时出错: v-bind:value=“value1*2”与同一元素上的v-model冲突,因为后者已在内部扩展为值绑定


var myObject=新的Vue({
el:“#应用程序”,
数据:{
价值1:1,
价值2:1
}
})
我所尝试的: 我可以创建一个onchange方法来完成它,但它需要复制添加
v-on:change=“operateValue”
code到输入

<div id="app">
  <input type="number" v-model="value1" v-on:change="operateValue">
  <input type="number" v-model="value2" v-on:change="operateValue">
  <input type="number" v-model="value3">
</div>

<script>
var app = new Vue({
  el: '#app',
  data: {
    value1: 1,
    value2: 1,
    value3 : 1
  },
  methods:{
    operateValue:function(){
        app.$data.value3 = (app.$data.value1 * 1 + app.$data.value2 * 1 ) * 2;
    }
  }
})
</script>

var app=新的Vue({
el:“#应用程序”,
数据:{
价值1:1,
价值2:1,
价值3:1
},
方法:{
运算符值:函数(){
app.$data.value3=(app.$data.value1*1+app.$data.value2*1)*2;
}
}
})

可能吗?或者我创建了一个自定义操作的方法?

您不能在同一个元素上使用v-model和v-bind:value,因为它会给您一个错误

但是,您可以改为使用计算属性:

var myObject=new Vue({
el:“#应用程序”,
数据:{
价值1:1
},
计算:{
值2:函数(){
返回此值。值1*2;
}
}
})

您不能这样做,因为
v-model
只是
:value=“someVar”和
@update=“setSomeVar”`的简写,您可以将它们拆分,那么您应该没有问题

因此,只需写出上面的内容:

<input id="input1" type="number" v-model="value1" @input="value2 = $event*2">
<input id="input2" type="number" :value="value2">


我已经试过了,它给了我一个error@PhilipF. 是的,它会抛出错误,但我的预期是这样的。您需要将道具绑定到对象,而不是表达式。请使用computedproperties@halfer谢谢,我会改正我的坏习惯。