如何使用 Vue.js 将方法结果绑定到 v-model?
例子 :
<someTag v-model="method_name(data_attribute)"></someTag>
由于某种原因,我无法使其工作。
谢谢你。
原文由 greenymaster69 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何使用 Vue.js 将方法结果绑定到 v-model?
例子 :
<someTag v-model="method_name(data_attribute)"></someTag>
由于某种原因,我无法使其工作。
谢谢你。
原文由 greenymaster69 发布,翻译遵循 CC BY-SA 4.0 许可协议
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>
原文由 Jeff 发布,翻译遵循 CC BY-SA 3.0 许可协议
4 回答4.6k 阅读✓ 已解决
4 回答2.1k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答5k 阅读
2 回答2.6k 阅读✓ 已解决
1 回答3.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
多年后,随着经验的积累,我发现绑定
:value
而不是使用 v-model 更容易。然后,您可以通过捕获@change
来处理更新。编辑(根据请求):
在子组件中: