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 相关文章推荐
发布一个高效的JavaScript分析、压缩工具 JavaScript Analyser
Nov 30 Javascript
JS动态添加option和删除option(附实例代码)
Apr 01 Javascript
jquery自定义函数的多种方法
Jan 09 Javascript
jQuery文件上传插件Uploadify使用指南
Jun 05 Javascript
JS实现仿新浪黄色经典滑动门效果代码
Sep 27 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(二)之数据支持json字符串、list集合
Aug 11 Javascript
Node.js的基本知识简单汇总
Sep 19 Javascript
前端图片懒加载(lazyload)的实现方法(提高用户体验)
Aug 21 Javascript
浅谈vue中关于checkbox数据绑定v-model指令的个人理解
Nov 14 Javascript
Vue移动端右滑屏幕返回上一页附源码下载
Jun 26 Javascript
微信小程序模板消息限制实现无限制主动推送的示例代码
Aug 27 Javascript
js面向对象编程OOP及函数式编程FP区别
Jul 07 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使用codebase生成随机数
2014/03/25 PHP
PHP 如何获取二维数组中某个key的集合
2014/06/03 PHP
php使用date和strtotime函数输出指定日期的方法
2014/11/14 PHP
php获取用户真实IP和防刷机制的实例代码
2018/11/28 PHP
Mootools 1.2教程 类(一)
2009/09/15 Javascript
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
2011/04/12 Javascript
JavaScript实现页面实时显示当前时间的简单实例
2013/07/20 Javascript
JS定时器实例详细分析
2013/10/11 Javascript
jQuery列表拖动排列具体实现
2013/11/04 Javascript
js处理自己不能定义二维数组的方法详解
2014/03/03 Javascript
jquery JSON的解析方式示例介绍
2014/07/27 Javascript
异步JavaScript编程中的Promise使用方法
2015/07/28 Javascript
XML文件转化成NSData对象的方法
2015/08/12 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
2016/09/17 Javascript
js生成随机颜色方法代码分享(三种)
2016/12/29 Javascript
深入理解Javascript中的valueOf与toString
2017/01/04 Javascript
js实现音乐播放控制条
2017/09/09 Javascript
详解webpack引入第三方库的方式以及注意事项
2019/01/15 Javascript
详解vue项目中调用百度地图API使用方法
2019/04/25 Javascript
轻松学习JavaScript函数中的 Rest 参数
2019/05/30 Javascript
[52:06]完美世界DOTA2联赛决赛日 Inki vs LBZS 第一场 11.08
2020/11/10 DOTA
一篇不错的Python入门教程
2007/02/08 Python
使用PYTHON创建XML文档
2012/03/01 Python
python爬取NUS-WIDE数据库图片
2016/10/05 Python
浅谈终端直接执行py文件,不需要python命令
2017/01/23 Python
python验证身份证信息实例代码
2019/05/06 Python
Python测试模块doctest使用解析
2019/08/10 Python
Django配置MySQL数据库的完整步骤
2019/09/07 Python
意大利灯具购物网站:Lampade.it
2018/10/18 全球购物
简单的离婚协议书范本
2014/11/16 职场文书
普宁寺导游词
2015/02/04 职场文书
《这片土地是神圣的》教学反思
2016/02/16 职场文书
python 如何用map()函数创建多线程任务
2021/04/07 Python
原生JS中应该禁止出现的写法
2021/05/05 Javascript
javascript条件式访问属性和箭头函数介绍
2021/11/17 Javascript
聊聊配置 Nginx 访问与错误日志的问题
2022/05/25 Servers