Home Web Front-end JS Tutorial Vue2.0 parent and child components transfer functions to each other (with code)

Vue2.0 parent and child components transfer functions to each other (with code)

Apr 17, 2018 pm 01:43 PM
transfer

This time I will bring you the mutual transfer function of Vue2.0 parent and child components (with code). What are the precautions for the mutual transfer function of Vue2.0 parent and child components. The following is a practical case, let's take a look. one time.

What is Vue.js

Vue.js (pronounced /vjuː/, similar to view) is a progressive framework for building user interfaces. Unlike other heavyweight frameworks, Vue Designed with bottom-up incremental development. Vue's core library only focuses on the view layer, which is not only easy to get started, but also easy to integrate with third-party libraries or existing projects. On the other hand, when working with single file components and Vue When combined with ecosystem-supported libraries, Vue is also fully capable of providing drivers for complex single-page applications. Study notes: In vue2.0, when a parent component calls a child component, it wants to pass the function body in the parent component as well.

1. Through props: applicable when parameters need to be passed from child components to parent components

// Parent component.vue

<template>
 <p>
  <ok-input :params='number' :callback='callbackNum'></ok-input>
 </p>
</template>
<script type="text/ecmascript-6">
 import okInput from '../ok-input/okinput.vue';
 export default {
  props: {},
  data() {
   return {
    number: {},
    callbackNum: function (x) {
     console.log(x);
    }
   };
  },
  methods: {
  },
  components: {
   'ok-input': okInput
  }
 };
</script>
Copy after login

// Subcomponent.vue

<template>
 <p>
   <input v-model='numVal' @change='handleFun'></input>
 </p>
</template>
<script type="text/ecmascript-6">
 import {Input, Select, Option, Button} from 'element-ui';
 import 'element-ui/lib/theme-default/index.css';
 export default {
  props: {
   params: {
    type: Object,
    default: {
     type: ''
    }
   },
   callback: {}
  },
  data() {
   return {
    x: 'hah',  
    numVal: ''
   };
  },
  methods: {
   handleFun(val) {
     this.callback(val); // 将参数传回父组件中的回调函数
   }
  },
  components: {
   'el-input': Input,
  }
 };
</script>
Copy after login

2. Via $emit: Applicable only when obtaining the current operation object

// 父组件.vue
<template>
 <p>
  <ok-input :params='inputs' @change='handleAge'></ok-input>
 </p>
</template>
<script type="text/ecmascript-6">
 import okInput from '../ok-input/okinput.vue';
 export default {
  props: {},
  data() {
   return {
    number: {}
   };
  },
  methods: {
   handleAge(evt) {
    console.log(evt.target.value); // 接收从子组件传过来的当前对象
   }
  },
  components: {
   'ok-input': okInput
  }
 };
</script>
Copy after login

// Subcomponent.vue

<template>
 <p>
   <input v-model='numVal' @blur='handleChange'></input>
 </p>
</template>
<script type="text/ecmascript-6">
 import {Input, Select, Option, Button} from 'element-ui';
 import 'element-ui/lib/theme-default/index.css';
 export default {
  props: {
   params: {
    type: Object,
    default: {
     type: ''
    }
   },
   callback: {}
  },
  data() {
   return {
    x: 'hah',  
    numVal: ''
   };
  },
  methods: {
   handleChange(evt) {
    this.$emit('change', evt); // 将当前对象 evt 传递到父组件
   },
  },
  components: {
   'el-input': Input,
  }
 };
</script>
Copy after login
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the PHP Chinese website!

Recommended reading:



The above is the detailed content of Vue2.0 parent and child components transfer functions to each other (with code). For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What are Delivery Optimization files in Windows 11 and can you delete them? What are Delivery Optimization files in Windows 11 and can you delete them? Sep 29, 2023 pm 04:09 PM

What are Delivery Optimization files in Windows 11 and can you delete them?

How to use context to pass request parameters in Go How to use context to pass request parameters in Go Jul 22, 2023 pm 04:43 PM

How to use context to pass request parameters in Go

How to solve Vue error: Unable to use props to pass data How to solve Vue error: Unable to use props to pass data Aug 17, 2023 am 10:06 AM

How to solve Vue error: Unable to use props to pass data

Messaging in Java Messaging in Java Aug 26, 2023 pm 10:13 PM

Messaging in Java

Tips and precautions for using pointers in C language Tips and precautions for using pointers in C language Feb 26, 2024 pm 04:15 PM

Tips and precautions for using pointers in C language

How to pass PHP variables by reference How to pass PHP variables by reference Aug 26, 2023 am 09:01 AM

How to pass PHP variables by reference

Microsoft will no longer include the Windows Maps and Movies & TV apps on Windows 11 PCs Microsoft will no longer include the Windows Maps and Movies & TV apps on Windows 11 PCs Nov 02, 2023 am 11:29 AM

Microsoft will no longer include the Windows Maps and Movies & TV apps on Windows 11 PCs

Detailed explanation of PHP function parameter passing Detailed explanation of PHP function parameter passing Jun 15, 2023 pm 10:33 PM

Detailed explanation of PHP function parameter passing

See all articles