重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章将为大家详细讲解有关vue 中有哪些传值方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
10多年的鄂城网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整鄂城建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“鄂城网站设计”,“鄂城网站推广”以来,每个客户项目都认真落实执行。
父组件向子组件传值
方法:父组件内设置要传的数据,在父组件中引用的子组件上绑定一个自定义属性并把数据绑定在自定义属性上,在子组件添加参数props接收即可。具体可参考官方文档。
父组件传递参数代码如下:
上面代码,通过在子组件上面绑定动态参数:form='userinfo'将父组件中的参数传递给子组件,子组件就可以通过props来进行接收。
子组件接收参数代码如下:
... export default { props: { // 接收 form: { userinfo: Object } } }, } // 另一种写法 export default { props: { // 接收 form: ['userinfo'] } }, }
上面代码中,还可以使用数组来接受参数,但是不能指定参数的类型。
子组件向父组件传值
方法:子组件通过vue实例方法$emit进行触发并且可以携带参数,父组件监听使用@(v-on)进行监听,然后进行方法处理。
子组件向上传值
上面代码中,this指代的是vue实例,子组件通过$emit向父组件触发事件和传递参数。
父组件监听子组件传来的值
上面代码中,在子组件中监听方法,如果子组件触发方法,父子间这边就可以得到子组件传过来的参数了。
非父子组件传值一
Event BUS总线方法:通过新建一个vue实例,来实现$on接收和$emit 来触发事件
1、新建bus.js文件:
// common/bus.js import Vue from 'vue'; // 使用 Event Bus const bus = new Vue(); export default bus;
2、组件1(接收通知信息)
import bus from '@/common/bus.js' export default{ data(){ return { collapseData: '' } }, created() { // 监听collapse,有变动就会收到通知,并改变collapseData值 bus.$on('collapse', msg => { this.collapseData = msg }) } }
3、组件2(发布信息)
import bus from '@/common/bus.js' export default { methods: { sendData(){ // 发布信号,触发这个函数,其他的接收函数都会收到相应的信息 bus.$emit('collapse', '信息') } } }
非父子组件传值二
借组vux插件实现组件之间的传值。
1、通过npm加载vuex,创建store.js文件,然后在main.js中引入,store.js文件代码如下:
import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex); const state = { message:'Hello World' }; const mutations = { newMessage(state,msg){ state.message = msg } } export default new Vuex.Store({ state, mutations })
3、在组件中存vuex的值,一般如下:
state里面的值只能通过Action来提交来修改和赋值。
3、在组件中获取Vuex的值,一般如下:
{{_name}}
Vue是一款友好的、多用途且高性能的JavaScript框架,使用vue可以创建可维护性和可测试性更强的代码库,Vue允许可以将一个网页分割成可复用的组件,每个组件都包含属于自己的HTML、CSS、JavaScript,以用来渲染网页中相应的地方,所以越来越多的前端开发者使用vue。
关于vue 中有哪些传值方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。