Vue 创建组件的两种方法小结(必看)


Posted in Javascript onFebruary 23, 2018

创建组件的两种方法小结

1.全局注册

2.局部注册

var child=Vue.extend({})
var parent=Vue.extend({})

Vue.extend() 全局方法 生成构造器,创建子类

使用基础 Vue 构造器,创建一个“子类”。

这样写非常繁琐。于是vue进行了简化

使用Vue.component()直接创建和注册组件:

Vue.component(id,options) 全局方法 用来注册全局组件

id 是string类型,即是注册组件的名称

options 是个对象

// 全局注册,my-component1是标签名称
Vue.component('my-component1',{
 template: '<div>This is the first component!</div>'
})
var vm1 = new Vue({
 el: '#app1'
})

Vue.component()的第1个参数是标签名称,第2个参数是一个选项对象,使用选项对象的template属性定义组件模板。

使用这种方式,Vue在背后会自动地调用Vue.extend()。

在选项对象的components属性中实现局部注册:

var vm2 = new Vue({
 el: '#app2',
 components: {
  // 局部注册,my-component2是标签名称
  'my-component2': {
   template: '<div>This is the second component!</div>'
  },
  // 局部注册,my-component3是标签名称
  'my-component3': {
   template: '<div>This is the third component!</div>'
  }
 }
})

==局部注册都放在选项对象中创建==

注意:这里是components,里面可以定义多个组件。

简化后是这样的写法

<body>
 <div id='box'>  
  <parent>  
  </parent>
 </div>
 <script src='js/vue.js'></script>
 <script>
  Vue.component('parent',{
   template:`<div><h1>我是父组件</h1><child></child></div>`,
    components:{
    'child':{
     template:`<h1>我是子组件</h1>`
    }
   }
  })
  new Vue({
   el:'#box'
  })
 </script>
</body>

注册一个parent的父组件。然后在父组件的选项对象中注册一个child的子组件。将子组件child的标签写到父组件parent的template里面。

页面上的样式结构就是

<div>
 <h1>我是父组件</h1>
 <h1>我是子组件</h1>
</div>

注意:用局部注册的子组件不能单独直接使用!

标签挂在div里,会报错

<div id='box'>  
 <child></child>
</div>

结果会报错。

以上这篇Vue 创建组件的两种方法小结(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
找出字符串中出现次数最多的字母和出现次数精简版
Nov 07 Javascript
浅谈checkbox的一些操作(实战经验)
Nov 20 Javascript
基于jquery实现的可编辑下拉框实现代码
Aug 02 Javascript
jQuery多个input求和的实现方法
Feb 12 Javascript
JavaScript对表格或元素按文本,数字或日期排序的方法
May 26 Javascript
JS中递归函数
Jun 17 Javascript
前端MVVM框架解析之双向绑定
Jan 24 Javascript
VeeValidate在vue项目里表单校验应用案例
May 09 Javascript
详解javascript中的babel到底是什么
Jun 21 Javascript
mpvue微信小程序开发之实现一个弹幕评论
Nov 24 Javascript
vue实现顶部菜单栏
Nov 08 Javascript
解决js中的setInterval清空定时器不管用问题
Nov 17 Javascript
Vue-cli Eslint在vscode里代码自动格式化的方法
Feb 23 #Javascript
ES6下子组件调用父组件的方法(推荐)
Feb 23 #Javascript
angular动态表单制作
Feb 23 #Javascript
angularjs中$http异步上传Excel文件方法
Feb 23 #Javascript
浅谈vuejs实现数据驱动视图原理
Feb 23 #Javascript
Vue父组件调用子组件事件方法
Feb 23 #Javascript
vue实现密码显示隐藏切换功能
Feb 23 #Javascript
You might like
mysql中存储过程、函数的一些问题
2007/02/14 PHP
教你如何使用php session
2013/10/28 PHP
PHP goto语句简介和使用实例
2014/03/11 PHP
php将html转为图片的实现方法
2017/05/19 PHP
JS 用6N±1法求素数 实例教程
2009/10/20 Javascript
常见的原始JS选择器使用方法总结
2014/04/09 Javascript
javascript实现动态加载CSS
2015/01/26 Javascript
代码分析jQuery四种静态方法使用
2015/07/23 Javascript
Jquery插件之Fancybox丰富的弹出层效果附源码下载
2015/12/02 Javascript
JavaScript关于提高网站性能的几点建议(一)
2016/07/24 Javascript
JS判断iframe是否加载完成的方法
2016/08/03 Javascript
微信小程序 网络请求(GET请求)详解
2016/11/16 Javascript
Mac系统下Webstorm快捷键整理大全
2017/05/28 Javascript
Vue之Watcher源码解析(1)
2017/07/19 Javascript
JavaScript捕捉事件和阻止冒泡事件实例分析
2018/08/03 Javascript
小程序实现自定义导航栏适配完美版
2019/04/02 Javascript
Python自动化构建工具scons使用入门笔记
2015/03/10 Python
Python中的两个内置模块介绍
2015/04/05 Python
调试Python程序代码的几种方法总结
2015/04/28 Python
Python 网络爬虫--关于简单的模拟登录实例讲解
2018/06/01 Python
Win8下python3.5.1安装教程
2020/07/29 Python
python matplotlib实现双Y轴的实例
2019/02/12 Python
pytorch forward两个参数实例
2020/01/17 Python
python脚本实现mp4中的音频提取并保存在原目录
2020/02/27 Python
Tensorflow卷积实现原理+手写python代码实现卷积教程
2020/05/22 Python
Python基于yaml文件配置logging日志过程解析
2020/06/23 Python
美国庭院家具购物网站:AlphaMarts
2019/04/10 全球购物
linux面试题参考答案(4)
2013/01/28 面试题
文秘专业应届生求职信范文
2013/11/14 职场文书
火锅店营销方案
2014/02/26 职场文书
教师个人自我评价范文
2014/04/13 职场文书
民事诉讼代理授权委托书范本
2014/10/08 职场文书
中学生旷课检讨书模板
2014/10/08 职场文书
2014年音乐教师工作总结
2014/12/03 职场文书
Pycharm连接远程服务器并远程调试的全过程
2021/06/24 Python
i5-10400f处理相当于i7多少水平
2022/04/19 数码科技