Javascript 如何在vue.js的v模型中正确应用三元运算符?
我试图在v模型中应用三元运算符,但它不起作用。我也读了很多关于stackoverflow的类似问题和答案,但没有一个回答我的问题 我创建了一个数据变量testCondition,默认设置为false。使用此条件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:“应用程序”, 数据:{ 名称:“”, 地
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"