Tips for obtaining the element's reference name in Angular 8

Struggling to retrieve element reference name? If anyone has a solution, please share it.

The alert message should resemble 'container', as that is the element reference.

Here is the code snippet in app.component.html:

<div (click)="test(event)" #container></div>

And here is the corresponding code in app.component.ts:

test(e){
   alert(e.elementRef);
   //Expected output: alert("container");
}

Answer №1

According to Kamil Augustyniak's suggestion, make sure to use $event instead of event in the div element.

<div (click)="test($event)" #container></div>

Your component's test method will receive a MouseEvent, allowing you to access the HTML element through properties like target, srcElement, or currentTarget (depending on the browser).

test(event: MouseEvent): void {
   const htmlElement = event.target || event.srcElement || event.currentTarget;;
   ...
}

Keep in mind that #container in your div is an Angular template reference variable commonly used along with @ViewChild.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

What are some ways to troubleshoot the TypeScript React demonstration application in Chrome?

Debugging a TypeScript app in the Chrome debugger is a straightforward process. First, you need to configure the tsconfig.json file: "sourceMap": true, Next, install ts-node and set a breakpoint in your TypeScript code using "debugger;" ...

Change the name of an angular2 component to a string representation of "this"

When using an Angular2 Component, if you execute the following code: console.log (this); You will see the entire object with all its members, for example: "ComponentName {member1, member2, member_n}" Now, I am interested in only logging the ComponentNa ...

Ways to implement useState in a TypeScript environment

Hello, I am currently using TypeScript in React and trying to utilize the useState hook, but encountering an error. Here is my code: import React , { useState } from "react"; interface UserData { name: string; } export default function AtbComponent( ...

Strategies for resolving the TypeScript 'possibly null' issue in ternary situations

Looking to enhance my code with a ternary operator for adding a class: className={clsx(classes.text, { classes.textSmall]: children.length > 11, })} Although this approach works, a TypeScript error is triggered: Object is possibly 'null' ...

A guide on achieving a three-element lineup in React

I work with React and Typescript. My goal is to have these three components displayed in a single row. Currently, the first button appears on the left while the input form and upload button are stacked vertically on the right. How can I arrange all three ...

Leveraging Data in a Forward Ref within a Child Component in React

React's documentation explains that useRef() is used for storing data that does not affect rendering. In order to pass a ref to a child component, the recommended approach is to use the forwardRef wrapper. While working with React and TypeScript, I e ...

React: The Material-UI autocomplete input, controlled with the React Hook Form `<controller>` component, experiences issues when the `multiple` prop is set to `true`

Currently facing challenges with managing an autocomplete MUI component using the <controller> component in react-hook-form. Take a look at the code snippet below: <Controller control={control} name="rooms" render={({ field }) =&g ...

Encountered an error while attempting to load module script

Upon launching an Angular application on Heroku, a situation arises where accessing the URL displays a blank page and the console reveals MIME type errors. The error message reads: "Failed to load module script: The server responded with a non-JavaScrip ...

Issue with constructor including an interface

I'm facing an issue with a typescript class that has an interface implemented in the constructor parameter: interface responseObject { a: string; b: boolean; c?: boolean; } class x { a: string; b: boolean; ...

How can I retrieve the Axios error response object within a catch block?

After recently updating to axios version 0.23.0, I encountered an error when attempting to access the error response object in a catch clause. Here is where the issue arises: const loginUser = async (userData: UserPayload): Promise<void> => { ...

Exploring the power of Typescript alongside Styled Components and Material UI

Working with Typescript in conjunction with MUI and Styled-Components may lead to the need to pass props directly to MUI elements to address type errors... const Index = () => { return ( <StyledButton variant="contained" > ...

`Finding and accessing the attributes and object of a React child component from its parent component`

I have built a Functional Component [let's say it's a child component for my example] with address fields (a few input boxes and SelectItems). When this Functional Component is called from another component (the parent component), I am looking to ...

Obtain the union type by extracting values from an indexed object

Suppose there is an indexed type: type X = { a: 'A', b: 'B' } Is there a way to derive the following type from it: type V = 'A' | 'B' without using an explicit method like this: type V = X['a'] | X[& ...

Having difficulties incorporating a selected custom repository into a module

Issue with Dependency Injection in NestJS Currently, I am working on implementing SOLID principles in my NestJS project by decoupling my service layer from TypeOrm. One of the benefits of this approach is the ability to switch between using an InMemoryRep ...

Creating a singleton in TypeScriptWould you like to know how to declare a singleton in

My goal is to incorporate an already existing library into my TypeScript project. The library contains a singleton object that I want to declare and utilize. For example, within the xyz.js file, the following object is defined: var mxUtils = { /* som ...

The operation failed because the property 'dasherize' is inaccessible on an undefined object

While attempting to execute the following command: ng generate component <component-name> An error occurred saying: Error: Cannot read property 'dasherize' of undefined Cannot read property 'dasherize' of undefined The confi ...

Configure Typescript to skip errors for a specific file

Is there a way to suppress TypeScript errors for specific files using the tsconfig.json file? I am aware of the exclude property mentioned on the TypeScript website, but that's not exactly what I'm looking for. As it's explained: If a fil ...

Ways to boost branch coverage in Jest when working with a for-in loop that has an if statement

Here is a piece of code that maps specific fields from one object to another and copies their values: //Function parameters var source = {"f1": "v1", "f2": "v2", "f3":"v3"}; var fieldsMapping = {"f1": "c1", "f2":"c2"}; //Function definition begins var co ...

Steer clear of using the "void" return type and instead utilize an enum subset for better clarity

I am exploring the creation of a type-safe API-SDK where each entity supports different API endpoints based on an enum. In this scenario, only two out of three entities allow posting. Although calling the post-function with a known type resolves correctl ...

Steps to disable error TS2367: The comparison seems unintentional as there is no overlap between the types 'true' and 'false'

Is there a way to suppress or change this error message to a warning in my code? It's preventing my app from compiling. TS2367: This comparison appears to be unintentional because the types 'true' and 'false' have no overlap. C ...