1.定义Vue组件
什么是组件: 组件的出现,就是为了拆分Vue实例的代码量的,能够让我们以不同的组件,来划分不同的功能模块,将来我们需要什么样的功能,就可以去调用对应的组件即可;
组件化和模块化的不同:
+ 模块化: 是从代码逻辑的角度进行划分的;方便代码分层开发,保证每个功能模块的职能单一;
+ 组件化: 是从UI界面的角度进行划分的;前端的组件化,方便UI组件的重用;
2.全局组件定义的三种方式:
创建组件的基本方式1:
创建语法:使用 Vue.extend 配合 Vue.component 方法
//返回组件模板对象,然后将该对象真正注册为一个组件
Vue.component('mycom1', Vue.extend({ template: '<h3>这是使用 Vue.extend 创建的组件</h3>' }))
代码实例:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <script src="./lib/vue-2.4.0.js"></script> </head> <body> <div id="app"> <!-- 如果要使用组件,直接把组件的名称,以 HTML 标签的形式,引入到页面中即可 --> <mycom1></mycom1> </div> <script> // 1.1 使用 Vue.extend 来创建全局的Vue组件 // var com1 = Vue.extend({ // template: '<h3>这是使用 Vue.extend 创建的组件</h3>' // 通过 template 属性,指定了组件要展示的HTML结构 // }) // 1.2 使用 Vue.component('组件的名称', 创建出来的组件模板对象com1) // Vue.component('myCom1', com1) // 如果使用 Vue.component 定义全局组件的时候,组件名称使用了驼峰命名,则在引用组件的时候, // 需要把大写的驼峰改为小写的字母,同时两个单词之间使用 - 连接;<my-com1></my-com1> // 如果不使用驼峰,则直接拿名称来使用即可; // Vue.component('mycom1', com1) //--------------------------------------------------------------------------------- // Vue.component // 第一个参数:组件的名称:将来在引用组件的时候,就是一个"标签形式"来引入 // 第二个参数: Vue.extend 创建的组件 ,其中 template 就是组件将来要展示的HTML内容 Vue.component('mycom1', Vue.extend({ template: '<h3>这是使用 Vue.extend 创建的组件</h3>' })) // 创建Vue实例,得到ViewModel var vm = new Vue({ el: '#app', data: {}, methods: {} }); </script> </body> </html>