How to Create Custom events in Svelte.js

How to Create Custom events in Svelte.js

In this post we will give you information about How to Create Custom events in Svelte.js. Hear we will give you detail about How to Create Custom events in Svelte.jsAnd how to use it also give you demo for it if it is necessary.

we are going to learn about how to create and use custom events in svelte.

Custom events

Custom events help us to communicate to parent components from child components.

Creating a Custom event

Let’s create our first custom event by importing the createEventDispatcher from the ‘svelte’.

Name.svelte
<script>  import { createEventDispatcher } from "svelte";  export let name;  let dispatch = createEventDispatcher();  function myCustom() {    dispatch("changename");  }</script><div>  <h1>{name}</h1>  <!-- dispatching the custom event 'changename' -->  <button on:click={myCustom}>Change Name</button></div>

In the above component, we created our custom event called changename and dispatching the event by clicking a button.

Listening Custom event

To listen for the custom event we need to use on: directive.

App.svelte
<script>  import Name from "./Name.svelte";  let framework = "svelte"; function handleChange(){     framework = "react" }</script><div>  <!-- listening the custom event -->  <Name on:changename={handleChange} name={framework} /></div>

How to pass arguments to custom events?

We can also pass arguments to the custom events and access it from the parent component.

Let’s add an argument to our changename custom event.

Name.svelte
<script>  import { createEventDispatcher } from "svelte";  export let name;  let dispatch = createEventDispatcher();  function myCustom() {    dispatch("changename", {      name: "Angular" //passing argument    });  }</script><div>  <h1>{name}</h1>  <button on:click={myCustom}>Change Name</button></div>

To access the argument inside the parent component we need to use event object.

App.svelte
<script>  import Name from "./Name.svelte";  let framework = "svelte";  function handleChange(event) {      //accessing the argument    framework = event.detail.name;  }</script><div>  <!-- listening the custom event -->  <Name on:changename={handleChange} name={framework} /></div>

Hope this code and post will helped you for implement How to Create Custom events in Svelte.js. if you need any help or any feedback give it in comment section or you have good idea about this post you can give it comment section. Your comment will help us for help you more and improve us. we will give you this type of more interesting post in featured also so, For more interesting post and code Keep reading our blogs

For More Info See :: laravel And github

We're accepting well-written guest posts and this is a great opportunity to collaborate : Contact US