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 相关文章推荐
基于jQuery的history历史记录插件
Dec 11 Javascript
JQuery验证工具类搜集整理
Jan 16 Javascript
根据IP的地址,区分不同的地区,查看不同的网站页面的js代码
Feb 26 Javascript
Ajax局部更新导致JS事件重复触发问题的解决方法
Oct 14 Javascript
JS生成一维码(条形码)功能示例
Jan 19 Javascript
ajax实现加载页面、删除、查看详细信息 bootstrap美化页面!
Mar 14 Javascript
javascript 跨域问题以及解决办法
Jul 17 Javascript
vue组件发布到npm简单步骤
Nov 30 Javascript
React Native react-navigation 导航使用详解
Dec 01 Javascript
使用D3.js构建实时图形的示例代码
Aug 28 Javascript
关于layui flow loading占位图的实现方法
Sep 21 Javascript
JavaScript 事件代理需要注意的地方
Sep 08 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
PHP版网站缓存加快打开速度的方法分享
2012/06/03 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
2014/12/16 PHP
PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析
2016/11/14 PHP
baidu博客的编辑友情链接的新的层窗口!经典~支持【FF】
2007/02/09 Javascript
基于Jquery的实现回车键Enter切换焦点
2010/09/14 Javascript
50款非常棒的 jQuery 插件分享
2012/03/29 Javascript
提取字符串中年月日的函数代码
2013/11/05 Javascript
javascript弹出层输入框(示例代码)
2013/12/11 Javascript
JS控制网页动态生成任意行列数表格的方法
2015/03/09 Javascript
jQuery获取页面及个元素高度、宽度的总结——超实用
2015/07/28 Javascript
理解Javascript文件动态加载
2016/01/29 Javascript
jQuery仿IOS弹出框插件
2017/02/18 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
VUE2.0+Element-UI+Echarts封装的组件实例
2018/03/02 Javascript
node.js通过axios实现网络请求的方法
2018/03/05 Javascript
webpack-url-loader 解决项目中图片打包路径问题
2019/02/15 Javascript
Node.js原生api搭建web服务器的方法步骤
2019/02/15 Javascript
python二叉树遍历的实现方法
2013/11/21 Python
Python写的一个简单监控系统
2015/06/19 Python
Python元组操作实例分析【创建、赋值、更新、删除等】
2017/07/24 Python
python sys.argv[]用法实例详解
2018/05/25 Python
python实现播放音频和录音功能示例代码
2018/12/30 Python
python3.6下Numpy库下载与安装图文教程
2019/04/02 Python
Python实现EXCEL表格的排序功能示例
2019/06/25 Python
pybind11和numpy进行交互的方法
2019/07/04 Python
python如何实现从视频中提取每秒图片
2020/10/22 Python
对Django url的几种使用方式详解
2019/08/06 Python
Java中各种基本数据类型的默认值都是什么
2016/12/22 面试题
私人委托书格式
2014/09/10 职场文书
购房委托书范本
2014/09/18 职场文书
机电专业毕业生自我鉴定2014
2014/10/04 职场文书
正风肃纪查摆剖析材料
2014/10/10 职场文书
求职推荐信范文
2015/03/27 职场文书
赞助商致辞
2015/07/30 职场文书
幼儿园安全管理制度
2015/08/05 职场文书
2019毕业典礼主持词!
2019/07/05 职场文书