前端面试题 | VUE组件传值,VUEX怎样传值的?
一、父子组件传值
父子组件传值使用props向子组件传递数据
子组件直接使用props接收父组件传递过来的值,接收过来的 值可以直接使用
<template><div id='logo'>{{logo}}</div>
</template>
<script>
export default{
props:['logo'] name:"headerdiv"data(){return{name:''}}
}</script>
父组件通过v-bind将logo的值绑定为父组件里面需要传递给子组件的变量
<template><HeaderDiv :logo='logoMsg'></HeaderDiv>
</template>
<script>
import HeaderDiv from './components/header'
export default{name:'app',data(){return {logoMsg:"dsadssaads'}},components:{HeaderDiv}
}
</script>
二、子父组件传值
(一)子组件通过事件传递数据给父组件
子组件部分
当input的值发生变化的时候,将username传递给父组件,首先声明一个setuser,用change事件来调用setUser
<template><div><span></span><input v-model="username" @change="setUser"/></div>
</template>
<script>export default{name:"login",data(){return{username:''}},methods:{setUser:function(){ this.$emit('transferUser',this.username) //transferUser是自定义事件,通过this.uasername将值传递给父组件}}
}
</script>
父组件 getUser里面的参数就是子组件传递过来的参数
<template>
<div><LoginDiv @transferUser="getUser"/><span>{{user}}</span>
</div>
</template>
<script>
export default{name:"",data(){return{user:""}},methods:{getUser(msg){this.user=msg}}
}
</script>
(二)第二种方法可以使用ref属性、
子组件
<template><div>{{ msg }}</div>
</template><script>
export default {data() {return {msg: "hello world"}}
}
</script>
父组件
<template><div id="app"><HelloWorld ref="hello"/><button @click="getHello">获取helloworld组件中的值</button></div>
</template><script>
import HelloWorld from "./components/HelloWorld.vue";export default {components: {HelloWorld},data() {return {}},methods: {getHello() {console.log(this.$refs.hello.msg)}}
};
</script>
通过$refs可以进行传值
三、兄弟组件传值
(一)可以使用Eventbus时间总线进行父子组件之间的传值
- 首先创建一个单独的eventBus.js文件
//Eventbus里面的内容 //创建vue实例 import Vue from 'vue' /向外共享Vue的实例对象 export default new Vue()
创建两个子组件并且注册到父组件之中
在两个组件中分别引入bus
组件A可以将修改后的数据使用$emit发送给兄弟组件 ,兄弟组件使用$on接收传递过来的数据
(二)使用vuex(后续会有更新~,点个关注)vuex
前端面试题 | VUE组件传值,VUEX怎样传值的?相关推荐
- 每日三道前端面试题--vue 第五弹
每日三道前端面试题--vue 第五弹 DOM 渲染在哪个周期中就已经完成? 说明Vue父组件向子组件传值的方法(代码或文字描述均可)? 请列举axios的配置项及含义(五条)? DOM 渲染在哪个周期 ...
- 每日三道前端面试题--vue 第三弹
每日三道前端面试题--vue 第三弹 Vue常见的指令有哪些? Vue的生命周期函数有哪些?(中文及英文)? vue2.0生命周期 vue3.0生命周期 vue怎样自定义指令? 自定义指令 全局注册 ...
- 每日三道前端面试题--vue 第二弹
每日三道前端面试题--vue 第二弹 简述框架和函数库的区别? 1. 库(Library) , 代表 : jquery 2. 框架 (Framework), 代表:vue 3. 主要区别 : 控制反转 ...
- 每日三道前端面试题--vue 第四弹
每日三道前端面试题--vue 第四弹 什么是vue的计算属性? 官方定义: 计算属性和侦听属性有什么区别?怎样选择? 两者之间的对比 两者之间的区别 两者之间怎样选择 总结 简述axios的安装和引入 ...
- 每日三道前端面试题--vue 第一弹
每日三道面试题--vue 第一弹 1.对vue渐进式框架的理解 2.v-if 和v-show的区别 3.MVC.MVP和MVVM的区别 一.MVC 1.视图(View):用户界面. 2.控制器(Con ...
- 前端面试题——VUE
VUE面试题 1.v-show 和 v-if的区别,v-show 和 keep-alive 的区别 答案:v-show是 CSS display 控制显示和隐藏 v-if 是组件真正的渲染和销毁,而不 ...
- 前端面试题——Vue 高频
目录 一.Vue的基本原理 二.双向数据绑定的原理 三.MVVM.MVC.MVP的区别 四.Computed 和 Watch 的区别 五.Computed 和 Methods 的区别 六.v-if 和 ...
- 前端面试题--vue
文章目录 1. vue 生命周期 2. VUE 中 computed 和 watch 的区别是什么? 3. 动态绑定 类名和样式 4. v-if 与 v-show 的区别 5. v-for 列表渲染 ...
- dom vue 加载完 执行_前端面试题——Vue
前言 前几天整理了一些 html + css + JavaScript 常见的面试题(https://segmentfault.com/u/youdangde_5c8b208a23f95/articl ...
最新文章
- java.lang.RuntimeException: Parcelable encountered IOException writing
- 2010年的退休畅想
- ubuntu下编译php扩展的时候报缺少pcre解决办法
- Asp.net 中 OnClientClick 与 OnClick 的执行顺序
- 互联网性能与容量评估的方法论和典型案例
- jodd-cache集锦
- 学了网络安全以后能做哪些岗位呢?来来来,带你们了解
- 【转】.NET NPOI操作Excel常用函数
- Amazon:大数据分析技能,你满足几条?
- Server 2008 R2远程桌面授权
- JS 增加或减少时间(根据天、小时、分钟、秒)
- 【Apache Spark 】第 2 章下载 Apache Spark并开始使用
- 水溶性CdSe/ZnS量子点PL480nm--660nm(亲水配体包裹的核/壳型荧光纳米材料)
- 在项目中实现多数据源和读写分离的配置
- 电脑html动态桌面壁纸制作,电脑如何制作动态壁纸_电脑上怎么搞动态壁纸-win7之家...
- MacBook+eGPU编译安装pytorch、tensorflow(OSX10.13.3,python3.6,cuda9.1,cudnn7)(未完成)
- 手机上的便签怎么发送到电脑上
- 剑与远征游戏系统分析
- 刘润:思考维度越多,理解商业越深
- 慧差\畸变 zemax示例
热门文章
- python学习——Day5
- 超级S32750双相不锈钢
- lex编译dos命令_lex.yy.c如何运行
- 扫地机器人湿地_石头扫地机器人体验:拖地更方便更好了,能给爸妈买吗?| 验货...
- 乐鑫Esp32学习之旅 18 入门京东微联·小京鱼的控制面板H5开发,读懂vue语法,做自己的控制页面。
- phpcms v9后台更换ueditor编辑器
- windows引导文件丢失解决办法
- CSDN高校计算机社区引导指南
- PMP模拟试题与解析(八)
- 镇魔曲手游服务器维护,《镇魔曲手游》11月11日维护公告