• 折腾vue--vue自定义组件(三)


    1、创建组件  demo.vue,内容如下:

    <template>
      <div>
        <input
          type="button"
          :value="name"
          @click="btnClickHandler"
        />
      </div>
    </template>
    
    <script>
    export default {
      data () {
        return {}
      },
      props: ['name'],
      methods: {
        btnClickHandler: function () {
          // this.$emit('btnClick') 用于执行父组件中绑定的事件
          this.$emit('btnClick')
          // 还可以执行单独的组件自己的方法
          alert('子组件的点击')
        }
      }
    }
    </script>
    
    <!-- Add "scoped" attribute to limit CSS to this component only -->
    <style scoped lang='scss'>
    </style>

    ps.

      a.data最好写返回值,即使是空对象,否则调试时,可以运行,但浏览器会报错,一片红看的不难受么

      b.props用于参数的传递

      c.自定义事件,并将自定义事件绑定到button的单击事件中,自定义事件添加代码:this.$emit('btnClick'),此段代码的作用是:在父组件使用绑定自定义事件时,执行父组件中绑定的事件

    2、使用<template>

      <div id="app">
        <sw-header name="abc" @btnClick="click"></sw-header>
        <router-view />
      </div>
    </template>
    
    <script>
    import swHeader from './components/demo'
    
    export default {
      name: 'App',
      components: {
        swHeader
      },
      methods: {
        click: function () {
          alert('父组件的点击事件')
        }
      }
    }
    </script>
    
    <style lang="scss">
    /*去除浏览器默认样式*/
    @import './assets/reset.css';
    /*sass变量*/ $background: #ccc;
    </style>

    ps.

      a.引用组件

      b.注册组件

      c.参数传递:按照html的普通属性使用即可将参数传递给组件

      d.定义事件,并绑定到组件的自定义事件中

  • 相关阅读:
    HDU2897( 巴什博奕变形)
    HTML小知识点积累
    几种自己主动运行js代码的方式
    leetcode笔记:Contains Duplicate
    【Nutch基础教程之七】Nutch的2种执行模式:local及deploy
    为什么使用模板
    前端编程提高之旅(十)----表单验证插件与cookie插件
    【HDOJ 5399】Too Simple
    进程间通信之-信号signal--linux内核剖析(九)
    iOS类的合理设计,面向对象思想
  • 原文地址:https://www.cnblogs.com/zhoushangwu/p/11715072.html
Copyright © 2020-2023  润新知