宝哥软件园

vue组件间数据传输示例分析

编辑:宝哥软件园 来源:互联网 时间:2021-08-27

本文分析了vue组件之间的数据传输方法。分享给大家参考,如下:

1.props:父组件-将值传递给子组件

App.vue是父组件,其他组件是子组件。必须使用=props将父组件值传递给子组件

在父组件(App.vue)中定义一个属性(变量)sexVal=' male ',并将该值传递给子组件(B.vue),如下所示:

App.vue

模板div id='app '!-router-view/router-view-parentto child : sex=' SexVal '/parentto child/div/template script import parentto child from '。/components/B ' export default { name : ' app },data : function(){ return { sex val : ' fear ' },methods : {},components : { parentto child } }/script B . vue。

模板div class='b_class '!-在外部只允许一个以下元素- p父组件将值传递给子组件/p pname : { { name } }/p pnage : { { age } }/p PSE x: { { sex } }/p/div/模板脚本导出默认值{ data : function(){ return { name : ' zs ',age: 22 } },prop 3360[' sex ']}/script tips :

将父组件的值传递给子组件,以使用属性值:props据了解,“中介”的父组件绑定传递属性值(:sex='sexval '),子组件获取属性值props['sex'],将添加到数据对象中

2.$emit:子组件-将值传递给父组件

在B.vue子组件中添加一个点击事件作为示例

@ click=' sendmas

InputType=' button ' @ click=' send msg ' value='子组件值传递给父组件'调用此函数后,使用$emit方法传递参数(alias,在父组件中用作事件名称和值);

方法: { sendmsg 3360 function(){ this。$ emit ('childmsg ',' value from-subcomponent value ')} } } app . vue

在父组件中使用该别名(作为事件名称),并调用方法childEvent返回子组件传递的值

p{{message}}/p!-router-view/router-view-parentochild : sex=' sex val ' @ child msg=' child event '/parentochilddata 3360 function(){ return { sex val 3360 ' meeting ',message: '' },methods : { child event : function(msg){ this . message=msg;//消息来自子组件}}点击“按钮”,值将被传输到父组件。组件不能相互传递值。

希望本文对vue.js程序的设计有所帮助。

更多资讯
游戏推荐
更多+