明霞山资源网 Design By www.htccd.com
本文实例分析了vue组件之间数据传递的方法。分享给大家供大家参考,具体如下:
1、props:父组件 -->传值到子组件
app.vue是父组件 ,其它组件是子组件,把父组件值传递给子组件需要使用 =>props
在父组件(App.vue)定义一个属性(变量)sexVal = '男' 把该值传递给 子组件(B.vue),如下:
App.vue
<template> <div id="app"> <!--<router-view></router-view>--> <parentTochild :sex="sexVal"></parentTochild> </div> </template> <script> import parentTochild from './components/B' export default { name: 'app', data: function () { return { sexVal:"女" } }, methods: { }, components: { parentTochild } } </script>
B.vue
<template> <div class="b_class"> <!--外边只允许有一个跟元素--> <p>父组件传值给子组件</p> <p>姓名:{{name}}</p> <p>年龄:{{age}}</p> <p>sex:{{sex}}</p> </div> </template> <script> export default { data: function () { return { name: 'zs', age: 22 } }, props:['sex'] } </script>
tips:
在父传值给子组件使用属性值:props; 理解成 “ 中介” 父组件绑定传递属性值(:sex="sexval") 子组件 获取属性值 props['sex'] 会添加到data 对象中
2、$emit:子组件 -->传值到父组件
在B.vue 子组件添加一个点击事件为例子
@click="sendMs
<input type="button" @click="sendMsg" value="子组件值传父组件">
在调用该函数后使用$emit方法传递参数 (别名,在父组件作为事件名称, 值);
methods: { sendMsg: function () { this.$emit('childMsg', '值来自---子组件值') } }
App.vue
在父组件中 使用该别名(作为事件名使用),调用方法 childEvent 返回子组件传过来的值
<p>{{message}}</p> <!--<router-view></router-view>--> <parentTochild :sex="sexVal" @childMsg = "childEvent"></parentTochild>
data: function () { return { sexVal: "女", message: '' } }, methods: { childEvent: function (msg) { this.message = msg; // msg 来自子组件 } }
点击 “按钮”值会传到 父组件中。 组件之间不能互相传值。
希望本文所述对大家vue.js程序设计有所帮助。
标签:
vue,组件,数据传递
明霞山资源网 Design By www.htccd.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
明霞山资源网 Design By www.htccd.com
暂无评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?