Javascript v-if在没有v-else的情况下不工作,使用返回Vuex状态的计算属性
我不确定问题出在哪里,但是,基本的v-if不能正常工作Javascript v-if在没有v-else的情况下不工作,使用返回Vuex状态的计算属性,javascript,vue.js,vuejs2,vue-component,vuex,Javascript,Vue.js,Vuejs2,Vue Component,Vuex,我不确定问题出在哪里,但是,基本的v-if不能正常工作 <template> <div> <select v-model="col.code"> <option v-for="i in foo" :value="i.code">{{ i.code }}</option> </select> {
<template>
<div>
<select v-model="col.code">
<option v-for="i in foo" :value="i.code">{{ i.code }}</option>
</select>
{{ col }}
// { "code": "B" }
<div v-if="col.code"> // not working
{{ col.code }}
</div>
</div>
</template>
<script>
export default {
data() {
return {
foo: [
{code: 'A'},
{code: 'B'},
{code: 'C'}
]
}
},
created() {
this.view();
},
watch: {
'$route': 'view',
},
computed: {
col() {
return this.$store.state.col;
}
}
}
</script>
奇怪。似乎没有问题,但将select绑定到计算属性是错误的,因此您应该使用计算setter:
computed: {
col: {
get(){
return this.$store.state.col;
},
set(newVal){
this.$store.commit('UPDATE_COL',newVal);
}
}
}
Vue.useVuex
//存储实例
const store=新的Vuex.store{
声明:{
上校:{
代码:“A”
}
},
突变:{
更新状态,有效载荷{
state.col=有效载荷
}
}
}
//vue实例
让应用程序=新Vue{
el:“应用程序”,
百货商店
资料{
返回{
傅:[{
代码:“A”
},
{
代码:“B”
},
{
代码:“C”
}
]
}
},
创造{
},
计算:{
上校:{
得到{
返回此。$store.state.col;
},
塞特纽瓦尔{
此.$store.commit'UPDATE_COL',newVal;
}
}
}
}
{{i.code}}
我的代码:{col.code}
看起来没有问题,但是将select绑定到计算属性是错误的,因此您应该使用计算setter:
computed: {
col: {
get(){
return this.$store.state.col;
},
set(newVal){
this.$store.commit('UPDATE_COL',newVal);
}
}
}
Vue.useVuex
//存储实例
const store=新的Vuex.store{
声明:{
上校:{
代码:“A”
}
},
突变:{
更新状态,有效载荷{
state.col=有效载荷
}
}
}
//vue实例
让应用程序=新Vue{
el:“应用程序”,
百货商店
资料{
返回{
傅:[{
代码:“A”
},
{
代码:“B”
},
{
代码:“C”
}
]
}
},
创造{
},
计算:{
上校:{
得到{
返回此。$store.state.col;
},
塞特纽瓦尔{
此.$store.commit'UPDATE_COL',newVal;
}
}
}
}
{{i.code}}
我的代码:{col.code}
用于更新列状态的操作是什么?用于更新列状态的操作是什么?它也不起作用。没有错误,什么都没有。col=>get有效,而col=>set无效。我还测试了没有计算属性的基本数据。它也不工作。请分享你的商店,如果你能分享一些代码笔代码,这将是非常有帮助的它非常基本。几乎和你贴的一样。只包括路由器和混音器。无论如何我知道您的答案可能是正确的,但是,奇怪的是,我需要将v-if包装到另一个根元素。问题可能来自存储状态即使没有存储状态,使用基本数据,它也无法工作。无论如何,我找到了一个解决办法。我知道你的代码很有效,因为我以前用过。它也不起作用。没有错误,什么都没有。col=>get有效,而col=>set无效。我还测试了没有计算属性的基本数据。它也不工作。请分享你的商店,如果你能分享一些代码笔代码,这将是非常有帮助的它非常基本。几乎和你贴的一样。只包括路由器和混音器。无论如何我知道您的答案可能是正确的,但是,奇怪的是,我需要将v-if包装到另一个根元素。问题可能来自存储状态即使没有存储状态,使用基本数据,它也无法工作。无论如何,我找到了一个解决办法。我知道你的代码很有效,因为我以前用过。谢谢