赞
踩
1.简介
组件(component)是vue.js最强大的功能之一。组件的作用就是封装可重用的代码,通常一个组件就是一个功能体,便于在多个地方都能够调用这个功能体。 每个组件都是Vue的实例对象。 我们实例化的Vue对象就是一个组件,而且是所有组件的根组件
2.全局注册组件
- <body>
- <div id="app">
- <my-header></my-header>
- <my-header></my-header>
- <my-header></my-header>
- </div>
- </body>
-
- <script>
- Vue.component("my-header", {
- data: function() {
- return {
- title: "头部标题内容"
- };
- },
- template: `
- <div>
- <button @click='handle'>点击</button>
- <div>{
- {title}}</div>
- </div>
- `,
- methods: {
- handle: function() {
- console.log(this.title);
- }
- }
- });
- var vue = new Vue({
- el: "#app",
- data: {},
- methods: {},
- computed: {}
- });
- </script>
3.局部注册组件
- <body>
- <div id="app">
- <my-header></my-header>
- <my-footer></my-footer>
- </div>
- </body>
-
- <script>
- let myHeader = {
- data: function() {
- return {
- title: "头部标题的内容"
- };
- },
- template: `
- <div>
- <button @click="handle">点击</button>
- <p>{
- {title}}</p>
- </div>
- `,
- methods: {
- handle: function() {
- console.log(this.title);
- }
- }
- };
- let myFooter = {
- data: function() {
- return {
- title: "底部标题的内容"
- };
- },
- template: `
- <div>
- <button @click="handle">点击</button>
- <p>{
- {title}}</p>
- </div>
- `,
- methods: {
- handle: function() {
- console.log(this.title);
- }
- }
- };
- var vue = new Vue({
- el: "#app",
- data: {},
- methods: {},
- computed: {},
- components: {
- "my-header": myHeader,
- "my-footer": myFooter
- }
- });
- </script>
或者这样写也可以:
- <body>
- <div id="app">
- <my-header></my-header>
- <my-footer></my-footer>
- </div>
- <!-- 定义头部组件模板 -->
- <template id="my-header">
- <div>我是头部内容{
- { title }}</div>
- </template>
- <!-- 定义底部组件模板 -->
- <template id="my-footer">
- <div>我是底部内容{
- { title }}</div>
- </template>
- <
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。