vue中有哪些传值方法-创新互联-成都创新互联网站建设

关于创新互联

多方位宣传企业产品与服务 突出企业形象

公司简介 公司的服务 荣誉资质 新闻动态 联系我们

vue中有哪些传值方法-创新互联

这篇文章将为大家详细讲解有关vue 中有哪些传值方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

创新互联是一家专业从事网站建设、网络营销、微信小程序开发、网站运营为一体的建站企业;在网站建设告别千篇一律,告别似曾相识,这一次我们重新定义网站建设,让您的网站别具一格。响应式网站开发,实现全网营销!一站适应多终端,一样的建站,不一样的体验!

父组件向子组件传值

方法:父组件内设置要传的数据,在父组件中引用的子组件上绑定一个自定义属性并把数据绑定在自定义属性上,在子组件添加参数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来提交来修改和赋值。


 

 // 引入mapActions,很重要
 import { mapActions } from 'vuex'
 export default {
 data() {
 return {
 username:'',
 password: ''
 }
 },
 methods: {
 ...mapActions({
 // 在input 的blur 事件中触发回调,并将输入值作为参数返回到store中
 saveName: 'saveName'
 })
 }
 }

3、在组件中获取Vuex的值,一般如下:



为什么要使用Vue

Vue是一款友好的、多用途且高性能的JavaScript框架,使用vue可以创建可维护性和可测试性更强的代码库,Vue允许可以将一个网页分割成可复用的组件,每个组件都包含属于自己的HTML、CSS、JavaScript,以用来渲染网页中相应的地方,所以越来越多的前端开发者使用vue。

关于vue 中有哪些传值方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站栏目:vue中有哪些传值方法-创新互联
本文来源:http://kswsj.cn/article/dgphdg.html

其他资讯