Javascript 基于计算属性数组的Vuejs输入绑定
我有一个场景,希望输入字段的v-model绑定由计算属性返回的值决定 请参见下面的示例:Javascript 基于计算属性数组的Vuejs输入绑定,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,我有一个场景,希望输入字段的v-model绑定由计算属性返回的值决定 请参见下面的示例: <!DOCTYPE html> <html> <head> <script src="https://unpkg.com/vue@2.1.10/dist/vue.js"></script> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min
<!DOCTYPE html>
<html>
<head>
<script src="https://unpkg.com/vue@2.1.10/dist/vue.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<div id="app">
{{value}}
<input type="text" v-model="myName.first">
<input type="text" v-model="myName.second">
</div>
<script>
new Vue({
el:'#app',
data:{
value:{
first: '',
second: ''
}
},
computed: {
myName: {
get(){
return {first:'this.value.first',second:'this.value.second'}; //this will actually come from an API
},
set(newValue){
this.value.first = newValue.second;
this.value.second = newValue.second;
}
}
}
});
</script>
</body>
</html>
JS-Bin
{{value}}
新Vue({
el:“#应用程序”,
数据:{
价值:{
首先:",,
第二个:''
}
},
计算:{
我的名字:{
得到(){
返回{first:'this.value.first',second:'this.value.second'};//这实际上来自API
},
设置(新值){
this.value.first=newValue.second;
this.value.second=newValue.second;
}
}
}
});
正如您在上面的代码中所看到的,我希望第一个字段绑定到value.first,第二个值绑定到value.second。对于这两个字段,我希望模型绑定由computed属性返回的值决定。现在这是一个简单的示例,只有两个返回值,即value.first和value.second。但这将取决于逻辑
我觉得我没有正确地使用get和set。非常感谢您的帮助
注意:我之前有一个关于类似行的问题,但它在computed属性中只返回一个值,而不是数组/对象。提供的答案非常有效,但这一次的挑战是,我们需要设定两个价值观。您可以在这里看到该线程:您可以直接对计算属性进行v型建模,而无需使用数据或set/get
数据:{},
计算:{
myName:function(){
返回此。$store.state.myName;//或任何api
}
}
此外,在加载输入之前,请确保计算属性的值存在 这是可行的,但我目前的问题有点不同。因此,我的data()中有一个名为item的属性。我的computed属性实际上只是获取这个“项”中需要填充的属性的名称。因此,我最终希望根据computed属性返回的属性将值保存在“item”下。看到这个代码笔,我想你会想这样做:
<input type="text" v-model="myName.first">
data:{},
computed: {
myName: function() {
return this.$store.state.myName; //or whatever your api is
}
}