vue组件间的参数传递,vue组件与组件之间传值
这篇文章主要介绍了某视频剪辑软件的组件间传值(包括Vuex),全文通过举例子及代码的形式进行了一个简单的介绍,希望大家能够理解并且学习到其中知识
目录
父传子:子传父:在不使用状态管理的情况下,组件间传值的方式是通过父传子的方式或者兄弟组件传值。
父传子:
父组件:
模板
差异
hello world:需要数据=内容/hello world
/div
/模板
脚本
从导入你好,世界./components/HelloWorld.vue
导出默认值{
组件:{
编译
},
data(){
返回{
内容:"内容"
}
}
}
/脚本
style lang=less 范围
/风格
儿子组件(子组件名称为HELLOWORLD):
模板
差异
h1HELLOWORLD/h1
/div
/模板
脚本
导出默认值{
道具:[needData],
data(){
返回{
h:这个需要数据,
}
},
已安装(){
console.log(这个h);
}
}
/脚本
style lang=less 范围
/风格
子传父:
父组件:
模板
差异
hello world @ send data= get data /hello world
/div
/模板
脚本
从导入你好,世界./components/HelloWorld.vue
导出默认值{
组件:{
编译
},
data(){
返回{
}
},
方法:{
getData(sonData){
console.log(data=,sonData);
},
}
}
/脚本
style lang=less 范围
/风格
SonComponent:
模板
差异
h1HELLOWORLD/h1
/div
/模板
脚本
导出默认值{
data(){
返回{
内容:"内容"
}
},
已安装(){
这个. emit(sendData ,这个。内容);
}
}
/脚本
style lang=less 范围
/风格
效果图:
实际上,为了数据能在父子组件间传值;还可以通过调用父组件的函数或调用子组件的函数的方式实现传值100 .某视频剪辑软件中子组件调用父组件的函数
https://www.jb51.net/article/134732.htm
某视频剪辑软件父组件调用子组件的函数
https://www.jb51.net/article/219793.htm
Vuex是Vue框架中不可或缺的一部分;
状态管理在需要多组件通信的时候显得格外重要;比如数据在父组件形成,但数据需要在子组件的子组件中使用时,就可以使用状态管理管理;或者说需要兄弟组件传值时,可以使用Vuex。
在某视频剪辑软件的商店。射流研究…中有五个属性:
分别是状态、突变、动作、获取器、模块
结构为:
让a={
状态:{
名称:"模块a "
},
//突变专门用于改变状态属性中的数据
突变:{
setFun(状态,项目){
状态.名称=项目
}
}
}
导出默认的新Vuex .商店({
//状态专门存放数据
状态:{
编号:100,
使用组件:{
姓名:甲,
},
使用组件:"内容",
},
//突变专门用于改变状态属性中的数据
突变:{
setstatefoun(状态,项目){
状态。useb组件= b组件;
}
},
动作:{
httpGetData(store,item){
setTimeout(()={
控制台。日志(项目);
商店。commit( setstateffun ,item);
},3000)
}
},
getters:{
//调用吸气剂中的函数时没有入参
getterFun1(状态){
返回状态号
}
//调用吸气剂中的函数时有入参
gettterFun2(状态){
返回函数(瓦尔){
返回state.num=瓦尔
}
}
},
模块:{
模块答:答
}
});
}
状态中的数据可以在不同组件中访问获取。
获取状态的数据:
这个。$商店。州。州对象中的数据;
例如
让val=这个100美元商店。状态。num
更改状态数据,就是调用状态管理的突变对象中的函数:
这个. store.commit(函数名,数据);
例如
这个. store.commit(setStateFun , testSetItem );
行动对象,用于在状态管理中发请求
这个. store.dispatch(函数名,数据);
例如
这个. store.dispatch(httpGetData , testItem );
吸气剂对象,类似某视频剪辑软件的计算属性
这个store.getters函数名;
例如
//没入参时
这个100美元商店。吸气剂。getter fun 1;
//有入参时
这个100美元商店。吸气剂。getter fun 2(123);
Modules对象,类似于把需要使用的存储模块分离出来,每个module对象对应一个模块。
//获取模块对象中的状态数据
这个。$store.state.modules对象名称.状态值;
例如
这个。$store.state.ModuleA.name
//使用modules对象中的函数突变
这个。$store.commit(函数名,输入参数数据);
例如
这个。$store.commit(setFun , item ABC );
//这里需要注意的是,如果modules模块和外部(不是modules对象模块)的mutations对象中存在同名的函数,那么同名的函数在被调用时就会被执行。
这就是这篇关于Vue(包括Vuex)组件之间的价值转移的文章。有关Vue组件间价值转移的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。