vue全局组件与局部组件使用方法详解


Posted in Javascript onMarch 29, 2018

vue全局/局部注册,以及一些混淆的组件

main.js入口文件的一些常用配置, 在入口文件上定义的public.vue为全局组件,在这里用的是pug模版 .wraper 的形式相当于<div class=wraper></div>

main.js文件

**main.js入口文件的内容**

import Vue from 'vue'
import App from './App'
import router from './router'
// 引入公用组件的vue文件 他暴漏的是一个对象
import cpublic from './components/public'

Vue.config.productionTip = false

// 注册全局组件-要在vue的根事咧之前
// 参数 1是标签名字-string 2是对象 引入外部vue文件就相当与一个对象
Vue.component('public', cpublic)
// 正常注册全局组件的时候,第二个参数应该是对象。
Vue.component('public1', {
 template: '<div>正常的组件模式</div>'
})
/* eslint-disable no-new */
// 生成vue 的根实例;创建每个组件都会生成一个vue的事咧
new Vue({
 el: '#app',
 router,
 template: '<App/>',
 components: { App }
})

public.vue 组件为定义的全局组件在任何组件里都可以直接使用,不需要在vue实例选项components上在次定义,也不需要再次导入文件路径。

**public.vue的组件内容**


<template lang="pug">
.wrapper
 slot(text="我是全局组件") {{name}}

</template>

<script>
export default {
 name: 'HelloWor',
 // 全局组件里data属性必须是函数,这样才会独立,
 // 在组件改变状态的时候不会影响其他组件里公用的这个状态
 data () {
  return {
   name: '我是全局组件'
  }
 }
}
</script>

<style scoped>

</style>

parent.vue组件里,用到了public全局组件以及其他的子组件

parent.vue组件

<template lang="pug">
.wrap
 .input-hd
  .title 名称:
  input.input(type="text",v-model="msg",placeholder="请输入正确的值",style="outline:none;")
 .content-detail
  .content-name 我是父组件的内容 
 children(:msg='msg', number='1')
 public
 router-link(to='/parent/children2') 第二个子组件
 router-view
</template>

<script>
import children from './children'
// children(:msg='msg', number='1')在组件里 也可以传递自定义的属性,但是是字符串类型,

export default {
 name: 'HelloWor',
 data () {
  return {
   // 通过prop将数据传递到子组件,并与v-model想对应的输入框相互绑定。
   msg: '这个是父组件的-prop-数据'
  }
 },
 components: {
  children
 }
}
</script>

<style scoped>
.wrap {
}
.input-hd {
 display: flex;
 flex-direction: row;
 align-items: center;
 height: 70px;
}
</style>

children.vue是parent.vue的子组件,但是只在parent.vue作用域里可用

<template lang="pug">
.wrapper
 slot(text="我是子组件的text") 我是子组件的内容
 .name {{ msg }} {{ number }}
</template>

<script>
export default {
 name: 'HelloWor',
 // 接受的时候是用props接受,数组的形式,里面是字符串的形式。
 // 也可以传入普通的字符串
 // 在子组件中,props接受到的状态当作vue的实例属性来使用
 props: [ 'msg', 'number' ]
}
</script>

<style scoped>

</style>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 对象定义方法 简单易学
Mar 22 Javascript
js中生成map对象的方法
Jan 09 Javascript
用JQuery实现全选与取消的两种简单方法
Feb 22 Javascript
javascript带回调函数的异步脚本载入方法实例分析
Jul 02 Javascript
Angularjs中的页面访问权限怎么设置
Nov 11 Javascript
Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)
Jan 20 Javascript
Boostrap栅格系统与自己额外定义的媒体查询的冲突问题
Feb 19 Javascript
JavaScript实现计数器基础方法
Oct 10 Javascript
Vue在页面数据渲染完成之后的调用方法
Sep 11 Javascript
vue中利用three.js实现全景图的完整示例
Dec 07 Vue.js
在HTML中使用JavaScript的两种方法
Dec 24 Javascript
angular4实现带搜索的下拉框
Mar 25 Javascript
javascript实现文件拖拽事件
Mar 29 #Javascript
vue 父组件调用子组件方法及事件
Mar 29 #Javascript
vue.js element-ui tree树形控件改iview的方法
Mar 29 #Javascript
Vue 源码分析之 Observer实现过程
Mar 29 #Javascript
vue 实现全选全不选的示例代码
Mar 29 #Javascript
Angular开发实践之服务端渲染
Mar 29 #Javascript
使用vue2实现购物车和地址选配功能
Mar 29 #Javascript
You might like
php使用imagick模块实现图片缩放、裁剪、压缩示例
2014/04/17 PHP
CI配置多数据库访问的方法
2016/03/28 PHP
php实现压缩合并js的方法【附demo源码下载】
2016/09/22 PHP
tp5框架使用cookie加密算法实现登录功能示例
2020/02/10 PHP
深入认识javascript中的eval函数
2009/11/02 Javascript
JQuery中的$.getJSON 使用说明
2011/03/10 Javascript
javascript禁用Tab键脚本实例
2013/11/22 Javascript
如何在JavaScript中实现私有属性的写类方式(一)
2013/12/04 Javascript
js中的hasOwnProperty和isPrototypeOf方法使用实例
2014/06/06 Javascript
JS实现漂亮的淡蓝色滑动门效果代码
2015/09/23 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
微信小程序 教程之引用
2016/10/18 Javascript
JavaScript获取ul中li个数的方法
2017/02/13 Javascript
javascript数组拍平方法总结
2018/01/20 Javascript
Bootstrap-table自定义可编辑每页显示记录数
2018/09/07 Javascript
Angular设置别名alias的方法
2018/11/08 Javascript
如何在基于vue-cli的项目自定义打包环境
2018/11/10 Javascript
详解vuex的简单todolist例子
2019/07/14 Javascript
layui问题之模拟table表格中的选中按钮选中事件的方法
2019/09/20 Javascript
[01:02:38]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第二场 1月10日
2021/03/11 DOTA
python实现斐波那契递归函数的方法
2014/09/08 Python
Python判断Abundant Number的方法
2015/06/15 Python
python实现12306火车票查询器
2017/04/20 Python
Python中with及contextlib的用法详解
2017/06/08 Python
python matplotlib画图实例代码分享
2017/12/27 Python
Python三种遍历文件目录的方法实例代码
2018/01/19 Python
Django 开发环境与生产环境的区分详解
2019/07/26 Python
python实现两个一维列表合并成一个二维列表
2019/12/02 Python
如何定义TensorFlow输入节点
2020/01/23 Python
如何在pycharm中安装第三方包
2020/10/27 Python
凯特·丝蓓英国官网:Kate Spade英国
2016/11/07 全球购物
Gap英国官网:Gap UK
2018/07/18 全球购物
《真想变成大大的荷叶》教学反思
2014/04/14 职场文书
祖国在我心中演讲稿500字
2014/05/04 职场文书
求职信格式范文
2015/03/19 职场文书
2015年政风行风工作总结
2015/04/21 职场文书