Vue.js 3 Step 创建一个组件
2019-05-18 09:19
330 查看
Step1:Vue.extend()创建组件
Step2:Vue.component()注册组件,注册的标签一定要用小写
Step3:挂载点使用组件
<!doctype html> <html> <head> <meta charset="utf-8"> <title>3 Step 创建一个组件</title> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <script src="vue.js" type="text/javascript" charset="utf-8"></script> </head> <body> <div id="app1"> <!-- Step3:挂载点1使用组件 --> <my-component></my-component> </div> <div id="app2"> <!-- Step3:挂载点2使用组件 --> <my-component></my-component> </div> <div> <!-- 这里不属于挂载点,所以不会显示! --> <my-component></my-component> </div> <script type="text/javascript"> //Step1:创建组件 var myComponent = Vue.extend({ template: "<div>这是一个组件</div>" }) //Step2:注册组件 在这里采用"全局注册"组件,也就是每个挂载点都可以使用组件 Vue.component('my-component', myComponent) new Vue({ el: '#app1', //挂载点1 }) new Vue({ el: '#app2' //挂载点2 }) </script> </body> </html>
全局注册和局部注册
全局注册:
Vue.component('my-component', myComponent)
局部注册:
我们需要在声明挂载点的地方注入组件即可:
new Vue({ el: '#app1', components:{ 'my-component', myComponent' } })
这样只能在挂载点为#app1地方使用my-component组件,在挂载点#app2的地方使用my-component组件就会报错。
语法糖创建并注册组件
<!doctype html> <html> <head> <meta charset="utf-8"> & 20000 lt;title>3 Step 创建一个组件</title> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <script src="vue.js" type="text/javascript" charset="utf-8"></script> </head> <body> <div id="app1"> <!-- Step3:挂载点1使用组件 --> <my-component></my-component> </div> <div id="app2"> <!-- Step3:挂载点2使用组件 --> <my-component></my-component> <hr> <strong>使用语法糖创建并注册组件</strong> <sugar-component></sugar-component> </div> <div> <!-- 这里不属于挂载点,所以不会显示! --> <my-component></my-component> </div> <hr > <strong>使用语法糖在局部注册并创建多个组件</strong> <div id="app3"> <sugar-component2></sugar-component2> <sugar-component3></sugar-component3> </div> <script type="text/javascript"> //Step1:创建组件 var myComponent = Vue.extend({ template: "<div>这是一个组件</div>" }) //Step2:注册组件 在这里采用"全局注册"组件,也就是每个挂载点都可以使用组件 Vue.component('my-component', myComponent) //Step2: 可以使用语法糖,省略Step1,“全局注册”组件的同时创建模板内容 Vue.component('sugar-component', { template: '<div>这是用语法糖创建并注册的组件,这样就可以省略自己使用Vue.extend创建组件的步骤,系统会自动为我们使用Vue.extend去创建组件。</div>' }) new Vue({ el: '#app1', //挂载点1 }) new Vue({ el: '#app2' //挂载点2 }) new Vue({ el: '#app3', //挂载点3,同样可以再局部使用语法糖创建并注册组件 components: { 'sugar-component2': { template: '<div>这是使用语法糖在局部注册并创建组件的内容。</div>' }, 'sugar-component3': { template: '<div>使用语法糖,在局部可以同时创建并注册“多个组件”的内容。</div>' } } }) </script> </body> </html>
相关文章推荐
- 用Vue.js递归组件构建一个可折叠的树形菜单
- Vue.js实现一个自定义分页组件vue-paginaiton
- Vue.js一个文件对应一个组件实践
- vue使用THREE.js创建一个可以控制的立方体
- 02.26 创建一个vue组件
- Vue.js起步实践--不用webpack或vue全家桶情况下开始动手写一个小组件
- 学习 webpack+vue.js (1、先随便创建一个工程)
- Vue.js实现一个漂亮、灵活、可复用的提示组件示例
- 详解如何创建并发布一个 vue 组件
- 2018年基于 Vue.js 2.0 的 UI 组件库快速开发一个 Vue.js Web 应用 Element UI
- 使用Vue.js创建一个时间跟踪的单页应用
- Vue.js学习 Item16 – 实现一个自定义分页组件vue-paginaiton
- Vue.js 使用script或template标签创建组件模板内容
- 使用Vue.js创建一个时间跟踪的单页应用
- 如何创建一个 vue.js 的项目
- 用vue写一个商城的上货组件(简单易懂版,50行js实现效果)
- 使用FileReader API创建一个Vue的文件阅读器组件
- 一个简单的Vue.js组件开发示例
- 用Vue.js递归组件构建一个可折叠的树形菜单
- Mac本地创建一个基于Vue.js框架的my-project