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中使用css需要注意的地方小结
Sep 01 Javascript
基于JQuery的模拟苹果桌面Dock效果(稳定版)
Oct 15 Javascript
javascript格式化指定日期对象的方法
Apr 21 Javascript
实例讲解JS中setTimeout()的用法
Jan 28 Javascript
js实现瀑布流效果(自动生成新的内容)
Mar 16 Javascript
关于vue.js组件数据流的问题
Jul 26 Javascript
使用Vue开发动态刷新Echarts组件的教程详解
Mar 22 Javascript
React 组件间的通信示例
Jun 14 Javascript
create-react-app安装出错问题解决方法
Sep 04 Javascript
react项目实践之webpack-dev-serve
Sep 14 Javascript
javascript实现自由编辑图片代码详解
Jun 21 Javascript
原生js实现的金山打字小游戏(实例代码详解)
Mar 16 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设计模式中的工厂模式
2008/06/12 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
2014/07/04 PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
2014/11/12 PHP
CodeIgniter生成静态页的方法
2016/05/17 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
2016/09/23 PHP
JS提交并解析后台返回的XML的代码
2008/11/03 Javascript
关于javascript中this关键字(翻译+自我理解)
2010/10/20 Javascript
处理及遍历XML文档DOM元素属性及方法整理
2013/08/23 Javascript
js的匿名函数使用介绍
2013/12/11 Javascript
js处理自己不能定义二维数组的方法详解
2014/03/03 Javascript
Node.js实现的简易网页抓取功能示例
2014/12/05 Javascript
jQuery中mouseover事件用法实例
2014/12/26 Javascript
jQuery实现折叠、展开的菜单组效果代码
2015/09/16 Javascript
Sort()函数的多种用法
2016/03/20 Javascript
Json解析的方法小结
2016/06/22 Javascript
JavaScript计算值然后把值嵌入到html中的实现方法
2016/10/29 Javascript
Node.js 使用命令行工具检查更新
2017/06/08 Javascript
angular1配合gulp和bower的使用教程
2018/01/19 Javascript
vue渲染时闪烁{{}}的问题及解决方法
2018/03/28 Javascript
Vue2.4+新增属性.sync、$attrs、$listeners的具体使用
2020/03/08 Javascript
浅谈Vue3 Composition API如何替换Vue Mixins
2020/04/29 Javascript
[03:00]2014DOTA2国际邀请赛 Titan淘汰潸然泪下Ohaiyo专访
2014/07/15 DOTA
python使用PyV8执行javascript代码示例分享
2013/12/04 Python
Python的dict字典结构操作方法学习笔记
2016/05/07 Python
Python自定义类的数组排序实现代码
2016/08/28 Python
Tensorflow 训练自己的数据集将数据直接导入到内存
2018/06/19 Python
Python重新加载模块的实现方法
2018/10/16 Python
HTML5画渐变背景图片并自动下载实现步骤
2013/11/18 HTML / CSS
一文彻底解决HTML5页面中长按保存图片功能
2019/06/10 HTML / CSS
广告学专业毕业生自荐信
2013/09/24 职场文书
依法行政工作汇报
2014/10/28 职场文书
考研复习计划
2015/01/19 职场文书
超市食品安全承诺书
2015/04/29 职场文书
python实现过滤敏感词
2021/05/08 Python
Java内存模型之happens-before概念详解
2021/06/13 Java/Android
聊聊SpringBoot自动装配的魔力
2021/11/17 Java/Android