Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Vuex设置状态_Javascript_Vue.js_State_Vuex - Fatal编程技术网

Javascript Vuex设置状态

Javascript Vuex设置状态,javascript,vue.js,state,vuex,Javascript,Vue.js,State,Vuex,我有一个绑定到子组件的道具。我正在尝试摆脱这种情况,并将值设置为vuex全局状态下的数据 <VideoPip :asset="asset" v-show="pipEnabled === true" /> 如何设置此。$store.state.assetVideo默认情况下,哪个是等于资产值的空对象?我是否可以在计算属性中执行此操作?要读取视频状态数据,可以使用。例如,在视频组件中 从“vuex”导入{mapState} 导出默认值{ 名称

我有一个绑定到子组件的道具。我正在尝试摆脱这种情况,并将值设置为vuex全局状态下的数据

<VideoPip :asset="asset" v-show="pipEnabled === true" />


如何设置此。$store.state.assetVideo默认情况下,哪个是等于资产值的空对象?我是否可以在计算属性中执行此操作?

要读取视频状态数据,可以使用。例如,在
视频
组件中

从“vuex”导入{mapState}
导出默认值{
名称:'视频',
计算:mapState(['assetVideo'])
}
然后,您可以在组件的方法中引用
this.assetVideo
,并在其模板中引用
assetVideo
。这将对商店的变化作出反应


要设置该值,您应该(必须)使用变异。比如说

const store=新的Vuex.store({
严格:对,//总是个好主意
声明:{
assetVideo:{}//就个人而言,我会默认为“null”,但这取决于您
},
突变:{
setVideoAsset:(状态,assetVideo)=>(状态.assetVideo=assetVideo)
}
}
在您的组件中

方法:{
选择视频(视频){
此.$store.commit('setVideoAsset',video)
}
}

在父组件中:

//如果不使用名称空间
从“vuex”导入{mapTranslations,mapState}
导出默认值{
计算:{
…映射状态(['assetVideo']),
资产:{
得到(){
返回此.assetVideo
},
设置(新值){
this.setAssetVideo(newValue)
}
}
},
方法:{
…MAP突变(['setAssetVideo']),
}
}
贮藏

const存储={
声明:{
assetVideo:{}
},
突变:{
setAssetVideo(状态、有效负载){
state.assetVideo=有效负载
}
}
}
在父组件中,您可以使用
this.asset='something'
更改状态,它将在存储区和其他使用的任何地方更改


此外,如果不打算更改子组件中asset prop的值,您还可以将其传递给子组件

“使用计算属性”或“使用资产是一个根据用户单击的视频而变化的对象”,如果在存储中发生的更改不重要,则可以使用计算属性来设置此属性$state.store.assetVideo=this.asset?直接改变状态或其他东西不是一种坏做法吗?你打败了我,基本上我们有相同的想法,但我倾向于使用计算机setters@Talal我不确定OP是否试图在他们的
视频
组件或其他地方变异值在聊天的父组件中出现了UTAT,但问题中的重要问题得到了正确的回答,并且您确定了它