≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 网络编程 > vue.js

vue组件学习教程

人气:409 时间:2019-04-07

这篇文章主要为大家详细介绍了vue组件学习教程,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!

在学习vue时,组件学习比较吃力,尤其是组件间的通信,所以总结一下,官方文档的组件部分。

 

注册组件

 

全局组件

语法如下,组件模板需要使用一个根标签包裹起来。data必须是一个方法

代码如下:


Vue.component('component-name',{
  template:'<div><h1>标题</h1><span>作者信息</span></div>',
  data(){
    return{
      message:'组件的属性'
    }
  },
  methods:{

  }
})

局部组件

代码如下:


var com = {
  template:'<div><h1>标题</h1><span>作者信息</span></div>',
  data(){
    return{
      message:'组件的属性'
    }
  },
  methods:{

  }
}

new Vue({
  components:{
    'compontent-name':com
  }
})

 

组件通信

 

prop将父组件数据传给子组件

代码如下:


 <div id='app'>
   <child :msg=message></child>
 </div>

代码如下:


<script>
  Vue.component('child', {
    props: ['msg'],
    template: '<p>{{msg}}</p>'
  })

  new Vue({
    el: '#app',
    data: {
      message: '父组件数据'
    }
  })
</script>

利用子组件的props选项,父组件可以向子组件传递数据,但是子组件不能求改父组件的数据。

非父子组件通信

需要使用一个空的Vue实例来管理

代码如下:


<div id='app'>
  <com-a></com-a>
  <com-b></com-b>
</div>

代码如下:


var bus = new Vue();

var coma = {
  template: '<p @click="send">{{adata}}</p>',
  data(){
    return {
      adata: 'a的数据'
    }
  },
  methods:{
    send(){
      // 触发这一事件
      bus.$emit('data-to-b', this.adata);
    }
  }
  
};

var comb= {
  template: '<p>{{bdata}}</p>',
  data(){
    return {
      bdata: 'b的数据'
    }
  },
  mounted(){
    // 监听事件,获取a组件的数据,进行相关操作
    bus.$on('data-to-b', function (msg) {
      this.bdata = msg;
    }.bind(this));
  }
};

new Vue({
  el:'#app',
  components: {
    'com-a': coma,
    'com-b': comb
  }
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持四海网。

本文来自:http://www.q1010.com/184/3829-0.html

注:关于vue组件学习教程的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:vue.js

您可能感兴趣的文章

  • 浅谈vue+webpack项目调试方法步骤
  • 分析基于 axios 的 Vue 项目 http 请求优化
  • 分析vue2 $watch要注意的问题
  • 基于vue.js路由参数的实例讲解——简单易懂
  • 深入理解vue-router之keep-alive
  • vue监听scroll的坑的解决方法
  • weex里Vuex state使用storage持久化分析
  • vue 里面使用axios 和封装的示例代码
  • 分析Vue2.0 事件派发与接收
  • 使用mint-ui开发项目的一些心得(分享)
上一篇:Vue keep-alive实践总结(推荐)
下一篇:浅谈vue+webpack项目调试方法步骤
热门文章
  • Vue 报错TypeError: this.$set is not a function 的解决方法
  • vue实现动态添加数据滚动条自动滚动到底部的示例代码
  • vue项目设置scrollTop不起作用(总结)
  • vue项目中使用vue-i18n报错的解决方法
  • iview实现select tree树形下拉框的示例代码
  • 分析关于element级联选择器数据回显问题
  • vue项目打包后打开页面空白解决办法
  • 解决element ui select下拉框不回显数据问题的解决
  • element-ui table span-method(行合并)的实现代码
  • element-ui 设置菜单栏展开的方法
  • 最新文章
    • 理解vue ssr原理并自己搭建简单的ssr框架
    • vue favicon设置以及动态修改favicon的方法
    • vue-router启用history模式下的开发及非根目录部署方法
    • 从零开始在NPM上发布一个Vue组件的方法步骤
    • Element input树型下拉框的实现代码
    • Vue 报错TypeError: this.$set is not a function 的解决方法
    • Vue.js组件高级特性实例分析
    • 浅谈VueJS SSR 后端绘制内存泄漏的相关解决经验
    • 分析Vue.js自定义tipOnce指令用法实例
    • 浅谈vuex actions和mutation的异曲同工

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。