Javascript 如何在vue.js的v模型中正确应用三元运算符?

Javascript 如何在vue.js的v模型中正确应用三元运算符?,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,我试图在v模型中应用三元运算符,但它不起作用。我也读了很多关于stackoverflow的类似问题和答案,但没有一个回答我的问题 我创建了一个数据变量testCondition,默认设置为false。使用此条件testCondition?name:place,如果testCondition为false,则在v-model中返回place,但如果testCondition为true,则v-model不返回任何内容 这是我的密码: newvue({ el:“应用程序”, 数据:{ 名称:“”, 地

我试图在v模型中应用三元运算符,但它不起作用。我也读了很多关于stackoverflow的类似问题和答案,但没有一个回答我的问题

我创建了一个数据变量testCondition,默认设置为false。使用此条件
testCondition?name:place
,如果testCondition为false,则在v-model中返回place,但如果testCondition为true,则v-model不返回任何内容

这是我的密码:

newvue({
el:“应用程序”,
数据:{
名称:“”,
地点:'',
testCondition:false,
},
})
正文{
填充:15px;
}
输入{
边界半径:3px;
填充物:5px;
边框:薄实浅灰色;
}




测试条件状态:{{testCondition}
名称:{{Name}
地点:{{Place}
您需要一个带有getter和setter的计算属性:

试试这个:

newvue({
el:“应用程序”,
数据:{
名称:“”,
地点:'',
testCondition:false,
},
})
正文{
填充:15px;
}
输入{
边界半径:3px;
填充物:5px;
边框:薄实浅灰色;
}




测试条件状态:{{testCondition}
名称:{{Name}
地点:{{Place}
谢谢,它对本例有效,但当我尝试使用
$data[testCondition?'name':'place']
在vue组件中,
testCondition
被定义为
prop
我收到一个错误
避免在运行时向vue实例或其根$data添加反应性属性-在数据选项中预先声明它。
感谢您的回答,但没有起作用。您的解决方案中还存在语法错误。
computed: {
  myModel: {
    get() {
      return this.testCondition ? this.name : this.place;
    }
    set(newValue) {
      this.doSomethingWith(newValue);
    }
}
// then in template: v-model="myModel"