Showing Json Data from HTTP request in Angular 4 to the Document Object Model

I'm having some trouble with interpolation. I am utilizing http.get to retrieve data for my service.

Here is the code for my post.service :

getPosts() {return this._http.get(this._Url + 'events').map((_response: Response) => {
  const data = _response.json()
  return _response.json();
});

In my component, I execute the following code to pass the response to the res array:

getdata(){this._postService.getPosts()
  .subscribe(
  posts => {
    posts.forEach(posts => {
      this.res.push(
        new event(
          posts.field_event_title[0].value,
          posts.field_event_price[0].value,
          "test loc"
        )
      )

    });


  }
  ,
  (error) => console.log(error, "error from observable")
  );
  console.log(this.res, "res after subs")
}

Html Code:

<div  class="row" *ngFor="let post of res">
  Title: {{post.title}} <br>
  Price: {{post.price}} <br>
  Location:{{post.location}}
</div>

My problem is that using *ngFor displays all my data, but I only want to display one post e.g. res[0].title. When I try to use {{ res[0].title }} in the html, I get the error "Cannot read property 'title' of undefined". Can anyone offer assistance on this issue? Ultimately, I would like to utilize the array res to show data in the DOM.

Answer №1

Shoutout to AJT_82 for pointing out the safe navigation operator was causing my issue. Big thanks to everyone who helped!

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

In Visual Studio, consider reporting typescript errors as warnings instead of causing the build to fail

My goal is to perform type checking on my existing JavaScript code. I have set up a tsconfig file with the specifications below. When I run tsc, it generates hundreds of errors that appear in Visual Studio during the build process. These errors are current ...

What steps can I take to uncover the root cause of a "Debug Error" within TypeScript's compiler?

While trying to run nx serve (using NRWL NX) on my TypeScript project, I encountered a build failure with the following error message: <my-file>.ts - Error: Module build failed (from ./node_modules/@ngtools/webpack/src/ivy/index.js): Error: Debug ...

Top method for transforming an array into an object

What is the optimal method for transforming the following array using JavaScript: const items = [ { name: "Leon", url: "../poeple" }, { name: "Bmw", url: "../car" } ]; into this object structure: const result = ...

What could be causing the on:click event not to function in Svelte?

I need some assistance with displaying a text input field based on the value of the "changeEmail" variable. I have a handleClick function that toggles the value of "changeEmail" between true and false, but when I click on a button, nothing happens. Any gui ...

Interact with table cells using Angular's mousedown and mouseover events

I am looking to create a feature that highlights table cells when the mouse is pressed and hovered over a cell. Essentially, I want the cell to be highlighted whenever the mouse button is clicked and moved over it. However, in this example, there seems to ...

Creating a custom button for exporting a high chart to CSV

My Angular project involves exporting a chart to various formats, such as png, jpeg, pdf, and SVG. However, I am encountering an issue when trying to export the chart as CSV or . I have attempted the following code: this.lineChart.chart.downloadCSV(); //F ...

Error: The configuration property is not defined, causing a TypeError at Class.run ~/node_modules/angular-cli/tasks/serve.js on line 22

I'm encountering a persistent error on my production server that indicates a missing angular.json file, even though the file is present in the root of my project! Every time I run npm start, npm build, or npm test, I receive the same error message. ...

Error thrown when using React Router DOM: FC{} | ReactNode is not compatible with type ReactNode

Recently, I started using TypeScript and delving into a project that involves the react-router-dom. However, as I attempt to create elements in my App.tsx file, an error keeps popping up. Let's take a look at the code snippet: <Route path="la ...

How can I determine the return type for a specific set of parameters in a generic function?

I have a requirement to develop a utility type that can take the signature of a generic function along with its arguments. The goal is to determine the return type of the signature as if it were called with those specific arguments. My initial attempt: ty ...

Mean value calculated for each hour within a given array

Every minute, my array updates. To show the daily average of each hour, I need to calculate the average for every 60 elements. The latest minute gets added at the end of the array. // Retrieving the last elements from the array var hours = (this. ...

Inferring types in a generic function with multiple parameters

In my attempt to configure a generic with the parameter serving as the key of another object, I have found success using extends keyof when both types are provided as parameters to the function. However, I encountered an issue when the type that provides ...

What is the reason behind RematchDispatch returning a `never` type when a reducer and an effect share the same name?

Recently, I made the switch from TypeScript 4.1.2 to 4.3.2 with Rematch integration. Here are the Rematch packages in use: "@rematch/core": "2.0.1" "@rematch/select": "3.0.1" After the upgrade, a TypeScript error p ...

What could be the reason for encountering a Typescript ts(2345) error while trying to pass a mocked constant to .mockResolvedValue()?

Within my test.tsx file, I have the following code snippet: test('Photos will load', async () => { const mockCuratedPhotos = jest.spyOn(endpoints, 'getCuratedPhotos'); mockCuratedPhotos.mockResolvedValue(mockPhotos); awa ...

Get data from Angularfire2 in a single request

Every time a user logs in, I save their data in my users node. Unfortunately, when the user logs out, an error occurs: FIREBASE WARNING: An exception was thrown by the user callback. Error: permission_denied at /users/userID: Client does not have permissi ...

What causes inability for JavaScript to access a property?

My current coding project involves the usage of typescript decorators in the following way: function logParameter(target: any, key : string, index : number) { var metadataKey = `__log_${key}_parameters`; console.log(target); console.log(metadataKey ...

Mapping type property names in Typescript for substitution

I am working on a function that accepts two objects as parameters: one representing a model and the other representing a mapping. The function then returns an object with two properties: one showing the base model and the other displaying the model with ea ...

incorporate setInterval() with a dynamic variable serving as the millisecond value

During initialization of the component, a value is fetched from the ngrx store and used as a configuration. this.storeService.selectMConfig().subscribe(res => { if (!res) return; const refreshValue = Number(res.items[0].value) * ...

Exploring Angular 4's Capabilities: Navigating a Multi-Dimensional Array

I am currently working with a multi-dimensional array that has two keys, and it is structured as follows: user: any = {}; // The index is incremented within a for loop to add values to the user object (this part is functioning correctly) this.user[index++ ...

Angular service not triggering timer

I've developed a timer service file in Angular for countdown functionality import { Injectable } from '@angular/core'; @Injectable({ providedIn: 'root' }) export class TimerUtilService { initial_module_timer_value = 300; sec ...

What is the proper way to integrate plotly types in Angular using a local version?

After exploring various plotly packages, I discovered that the angular-plotly package is no longer being updated. To incorporate the plotly library into my project, I decided to download the plotly.min.js file and include it in my sources. Additionally, I ...