• Vue基础学习 --- 全局组件与局部组件


    组件分为

    • 全局组件

    • 局部组件

      全局组件

    • // 语法---Vue.component('组件名', {组件参数})
      Vue.component('com1', {
          template: '<button @click="count++">你点了我{{count}}次</button>',
          data() {
              return {
                  count: 0
              }
          }
      })
      示例:
      <!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>我是测试vue</title>
          <!-- 01-引入vue -->
          <script src="./node_modules/vue/dist/vue.js"></script>
      </head>
      
      <body>
          <!-- 02创建一个div,ID为app -->
          <div id="app"> <!-- 02-使用组件 --><com></com>
          </div>
          <script>//01-创建全局组件
              Vue.component('com', {
                  template: '<button @click="add">你点击了我{{count}}次</button>',
                  data() {
                      return {
                          count: 0
                      }
                  },
                  methods: {
                      add() {
                          this.count++
                      }
                  }
              })
              const vm = new Vue({
                  el: '#app',//对应的操作区,必填
                  data: {
                      msg: ''
                  },//数据
                  methods: {}//方法
              });
          </script>
      </body>
      
      </html>

      说明:

      • 组件没有el参数, 原因是组件不会和具体的页面元素绑定

      • 组件必须有template参数, 原因是组件需要渲染页面, template就是需要渲染的html

      • 组件也是一个Vue的实例, 所以在组件中也有data/methods等

      • data必须是一个函数, 并返回一个对象

      局部组件

      1. 组件的html部分是在template标签中渲染

      2. 组件的js部分就是组件参数(对象)

      示例:

      <!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="./node_modules/vue/dist/vue.js"></script>
      </head>
      
      <body>
          <div id="app">
              <!-- 04-使用组件 -->
              <son></son>
              <abc></abc>
          </div>
      
          <!-- 02-局部组件的样式在这里实现 -->
          <template id="jubu">
              <div>
                  <button @click="count++">你点击了{{count}}次</button>
              </div>
          </template>
      
          <script>
              //01-定义局部组件
              const jubu = {
                  template: '#jubu',
                  data() {
                      return {
                          count: 0
                      }
                  },
              }
      
              const vm = new Vue({
                  el: '#app',
                  data: {},
                  methods: {
      
                  },
                  //03- 挂载局部组件
                  components: {
                      // 定义组件---组件名:组件参数对象
                      son: jubu,
                      abc: jubu
                  }
              });
          </script>
      </body>
      
      </html>
  • 相关阅读:
    北京Uber优步司机奖励政策(2月26日)
    滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(2月26日)
    北京最牛的医院 最牛的科室排名出炉
    滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(2月25日)
    北京Uber优步司机奖励政策(2月25日)
    成都Uber优步司机奖励政策(2月25日)
    优步(UBER)发布2016年春节出境游出行报告
    cpp
    cpp
    Linux
  • 原文地址:https://www.cnblogs.com/somethingWithiOS/p/11969963.html
Copyright © 2020-2023  润新知