Skip to main content

how to loop through json object to get key and value, and display them in angular html?

I need to build an email sender by using nodemailer. I am sending the json object below and want to display the previous and current value changes with a pair of key and value in angular html.

<json input>

async function showChanges(formdata){
    let htmlFile = await fs.promises.readFile(templatePath, {
      encoding: "utf-8",
    });

    let template = handlebars.compile(htmlFile);

    let templateInput = {
      Message_Body: {
        Previous: formData.Message_Body.formChanges.Previous,
        Current: formData.Message_Body.formChanges.Current,
      }
    };
    return template(templateInput);
}

For example, imagine the formData input looks like:

    "Message_Body": {
        "formChanges": {
            "Previous": {
                "Events": "TEST",
                "AdditionalInfo": ""
            },
            "Current": {
                "Events": "TEST111",
                "AdditionalInfo": "test"
            }
        }
    }

And the html structure in angular looks like:

<div>
  <h3>Title: This following has been changed!</h3>
  
  <h3>Previous Values</h3>
  <ul>
    <li> : </li>
  </ul>

  <h3>Current Values</h3>
  <ul>
    <li> : </li>
  </ul>
</div>

How can I loop through the previous and current keys and values and display them as a list? I am assuming *ngFor should be used in <div> tag but it looks like it is applicable only in case of an array..

Can anyone give me any clue please?

I tried adding this code *ngFor="let item of templateInput | keyvalue" to the following:

<div>
  <h3>Title: This following has been changed!</h3>
  
  <h3>Previous Values</h3>
  <ul *ngFor="let item of Message_Body.Previous | keyvalue">
    <li> : </li>
  </ul>

  <h3>Current Values</h3>
  <ul *ngFor="let item of Message_Body.Current | keyvalue">
    <li> : </li>
  </ul>
</div>

And the result is nothing shown (empty).. My expected result should be:

Title: This following has been changed!

Previous Values:
* Events: TEST
* AdditionalInfo: 

Current Values:
* Events: TEST111
* AdditionalInfo: test
Via Active questions tagged javascript - Stack Overflow https://ift.tt/wbkqJ68

Comments

Popular posts from this blog

Why is my reports service not connecting?

I am trying to pull some data from a Postgres database using Node.js and node-postures but I can't figure out why my service isn't connecting. my routes/index.js file: const express = require('express'); const router = express.Router(); const ordersCountController = require('../controllers/ordersCountController'); const ordersController = require('../controllers/ordersController'); const weeklyReportsController = require('../controllers/weeklyReportsController'); router.get('/orders_count', ordersCountController); router.get('/orders', ordersController); router.get('/weekly_reports', weeklyReportsController); module.exports = router; My controllers/weeklyReportsController.js file: const weeklyReportsService = require('../services/weeklyReportsService'); const weeklyReportsController = async (req, res) => { try { const data = await weeklyReportsService; res.json({data}) console...

How to show number of registered users in Laravel based on usertype?

i'm trying to display data from the database in the admin dashboard i used this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count(); echo $users; ?> and i have successfully get the correct data from the database but what if i want to display a specific data for example in this user table there is "usertype" that specify if the user is normal user or admin i want to user the same code above but to display a specific usertype i tried this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count()->WHERE usertype =admin; echo $users; ?> but it didn't work, what am i doing wrong? source https://stackoverflow.com/questions/68199726/how-to-show-number-of-registered-users-in-laravel-based-on-usertype

The number of nodes and edges I calculated manually and by a method provided by networkx library dont match

I am trying to analyse a graph using networkx library in Python. I have implemented a function that returns the nodes and edges of that graph. After that I counted the number of nodes and edges by implementing the len() function for nodes and edges, which gave me 17 for both nodes and edges. However, when I used the method graph.number_of_nodes() of networkx library it gave me 53. My code: import pandas as pd import networkx as nx import matplotlib.pyplot as plt header_list = ["a","b","w"] E =pd.read_csv("aves-barn-swallow-contact-network.edges",sep=" ",header= None,names=header_list) # print(E.head()) # prints first few rows of the csv file G = nx.from_pandas_edgelist(E,"a","b",["w"]) nx.draw(G) plt.show() class GraphAnalyse: #finding nodes and edges def nodeEdge(self,Graph): nodes = Graph.nodes() edges = Graph.edges() ...