如何使用Vue.js将方法结果绑定到v模型?
示例:
<someTag v-model="method_name(data_attribute)"></someTag>
由于某种原因,我无法使其发挥作用。
谢谢。
答案 0 :(得分:18)
几年后,随着更多的经验,我发现绑定:value
比使用v模型更容易。然后,您可以通过捕获@change
来处理更新。
答案 1 :(得分:15)
v-model
个表达式必须具有get
和set
功能。对于大多数变量,这是非常简单的,但您也可以使用计算属性来自己定义它们:
data:function(){
return { value: 5 }
},
computed: {
doubleValue: {
get(){
//this function will determine what is displayed in the input
return this.value*2;
},
set(newVal){
//this function will run whenever the input changes
this.value = newVal/2;
}
}
}
然后您可以使用<input v-model="doubleValue"></input>
如果您只是希望标记显示方法结果,请使用<tag>{{method_name(data_attribute)}}</tag>
答案 2 :(得分:1)
同意:值和 @change 组合greenymaster
。
即使当我们在get / set中拆分计算属性时(这是有帮助的),如果在调用get()时需要一个参数,使其工作似乎也很复杂。
我的示例是一个中等大小的动态对象列表,其中填充了一个复杂的输入列表,因此: