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 相关文章推荐
利用JQuery和JS实现奇偶行背景颜色自定义效果
Nov 19 Javascript
javascript分页代码实例分享(js分页)
Dec 13 Javascript
javascript页面动态显示时间变化示例代码
Dec 18 Javascript
javascript中处理时间戳为日期格式的方法
Jan 02 Javascript
javascript入门之数组[新手必看]
Nov 21 Javascript
JS实现PC手机端和嵌入式滑动拼图验证码三种效果
Feb 15 Javascript
JS实现简易刻度时钟示例代码
Mar 11 Javascript
JS库particles.js创建超炫背景粒子插件(附源码下载)
Sep 13 Javascript
Angular4自制一个市县二级联动组件示例
Nov 21 Javascript
js和jQuery以及easyui实现对下拉框的指定赋值方法
Jan 23 jQuery
详解简单易懂的 ES6 Iterators 指南和示例
Sep 24 Javascript
vue与iframe之间的信息交互的实现
Apr 08 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验证码实现代码
2014/05/10 PHP
php使用cookie显示用户上次访问网站日期的方法
2015/01/26 PHP
Yii获取当前url和域名的方法
2015/06/08 PHP
WordPress 照片lightbox效果的运用几点
2009/06/22 Javascript
JavaScipt中的Math.ceil() 、Math.floor() 、Math.round() 三个函数的理解
2010/04/29 Javascript
Ajax异步提交表单数据的说明及方法实例
2013/06/22 Javascript
IE浏览器不支持getElementsByClassName的解决方法
2014/08/27 Javascript
容易造成JavaScript内存泄露几个方面
2014/09/04 Javascript
javascript实现列表滚动的方法
2015/07/30 Javascript
AngularJS中实现显示或隐藏动画效果的方式总结
2015/12/31 Javascript
如何在Linux上安装Node.js
2016/04/01 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
2016/05/25 Javascript
基于JavaScript实现跳转提示页面
2016/09/24 Javascript
JScript实现表格的简单操作
2017/08/15 Javascript
解决vue项目打包后提示图片文件路径错误的问题
2018/07/04 Javascript
解决bootstrap-select 动态加载数据不显示的问题
2018/08/10 Javascript
js监听html页面的上下滚动事件方法
2018/09/11 Javascript
webpack DllPlugin xxx is not defined解决办法
2019/12/13 Javascript
JQuery省市联动效果实现过程详解
2020/05/08 jQuery
python调用新浪微博API项目实践
2014/07/28 Python
python条件变量之生产者与消费者操作实例分析
2017/03/22 Python
python在每个字符后添加空格的实例
2018/05/07 Python
Python实现的生产者、消费者问题完整实例
2018/05/30 Python
django+xadmin+djcelery实现后台管理定时任务
2018/08/14 Python
python写入文件自动换行问题的方法
2019/07/05 Python
我们为什么要减少Python中循环的使用
2019/07/10 Python
python中return不返回值的问题解析
2020/07/22 Python
浅谈h5自定义audio(问题及解决)
2016/08/19 HTML / CSS
详解使用HTML5 Canvas创建动态粒子网格动画
2016/12/14 HTML / CSS
诺心蛋糕官网:LE CAKE
2018/08/25 全球购物
西雅图的买手店:Totokaelo
2019/10/19 全球购物
乌克兰珠宝大卖场:Zlato.ua
2020/09/27 全球购物
毕业生毕业总结的自我评价范文
2013/11/02 职场文书
亲子运动会的活动方案
2014/08/17 职场文书
贷款收入证明范本
2015/06/12 职场文书
zabbix如何添加监控主机和自定义监控项
2022/08/14 Servers