Javascript 基于计算属性数组的Vuejs输入绑定

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

我有一个场景,希望输入字段的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.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
   } 
}