&l_vuejs 业务组件和公共组件">
当前位置:   article > 正文

vue组件_vuejs 业务组件和公共组件

vuejs 业务组件和公共组件

一、组件化

1.简介

组件(component)是vue.js最强大的功能之一。组件的作用就是封装可重用的代码,通常一个组件就是一个功能体,便于在多个地方都能够调用这个功能体。 每个组件都是Vue的实例对象。 我们实例化的Vue对象就是一个组件,而且是所有组件的根组件

2.全局注册组件

  1. <body>
  2. <div id="app">
  3. <my-header></my-header>
  4. <my-header></my-header>
  5. <my-header></my-header>
  6. </div>
  7. </body>
  8. <script>
  9. Vue.component("my-header", {
  10. data: function() {
  11. return {
  12. title: "头部标题内容"
  13. };
  14. },
  15. template: `
  16. <div>
  17. <button @click='handle'>点击</button>
  18. <div>{
  19. {title}}</div>
  20. </div>
  21. `,
  22. methods: {
  23. handle: function() {
  24. console.log(this.title);
  25. }
  26. }
  27. });
  28. var vue = new Vue({
  29. el: "#app",
  30. data: {},
  31. methods: {},
  32. computed: {}
  33. });
  34. </script>
  1. 组件中的data是一个函数,不是对象
  2. 组件中必须有一个唯一的根元素
  3. 模板中内容较多时候建议使用模板字符串比如:

 

3.局部注册组件 

  1. <body>
  2. <div id="app">
  3. <my-header></my-header>
  4. <my-footer></my-footer>
  5. </div>
  6. </body>
  7. <script>
  8. let myHeader = {
  9. data: function() {
  10. return {
  11. title: "头部标题的内容"
  12. };
  13. },
  14. template: `
  15. <div>
  16. <button @click="handle">点击</button>
  17. <p>{
  18. {title}}</p>
  19. </div>
  20. `,
  21. methods: {
  22. handle: function() {
  23. console.log(this.title);
  24. }
  25. }
  26. };
  27. let myFooter = {
  28. data: function() {
  29. return {
  30. title: "底部标题的内容"
  31. };
  32. },
  33. template: `
  34. <div>
  35. <button @click="handle">点击</button>
  36. <p>{
  37. {title}}</p>
  38. </div>
  39. `,
  40. methods: {
  41. handle: function() {
  42. console.log(this.title);
  43. }
  44. }
  45. };
  46. var vue = new Vue({
  47. el: "#app",
  48. data: {},
  49. methods: {},
  50. computed: {},
  51. components: {
  52. "my-header": myHeader,
  53. "my-footer": myFooter
  54. }
  55. });
  56. </script>

或者这样写也可以: 

  1. <body>
  2. <div id="app">
  3. <my-header></my-header>
  4. <my-footer></my-footer>
  5. </div>
  6. <!-- 定义头部组件模板 -->
  7. <template id="my-header">
  8. <div>我是头部内容{
  9. { title }}</div>
  10. </template>
  11. <!-- 定义底部组件模板 -->
  12. <template id="my-footer">
  13. <div>我是底部内容{
  14. { title }}</div>
  15. </template>
  16. <
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/620380
推荐阅读
相关标签