AngularJS-Loop-Objekteigenschaften zum Erreichen dynamischer Spalten Vorteile: Speichern des Objekts und nur ein Datensatz in der Datenbank Nachteile: Das Hinzufügen von Objektattributen erfordert eine Änderung der Tabellenstruktur, des Codes und eine anschließende erneute Veröffentlichung Umsetzungsideen 1) Erstellen Sie Datenbanktabellen (Objekte) und Felder (Objektattribute) 2) Erstellen Sie eine Konfigurationstabelle basierend auf Tabellen (Objekten) und Feldern (Objektattributen). 3) Generieren Sie eine dreischichtige Architektur basierend auf Tabellen (Objekten) und Feldern (Objektattributen). 4) Der Demo-Code lautet wie folgt 1. Schnittstellencode: mit Microsoft.AspNetCore.Mvc; verwenden von Microsoft.Extensions.Logging; mit Newtonsoft.Json; System verwenden; mit System.Collections.Generic; mithilfe von System.Diagnostics; mit System.Linq; verwenden von System.Threading.Tasks; verwenden von WebApplication1.Models; Namespace WebApplication1.Controllers { öffentliche Klasse HomeController: Controller { öffentlicher IActionResult-Index (Zeichenfolgenobjekttyp) { ViewBag.objecttype = Objekttyp; Ansicht zurückgeben(); } [HttpPost] öffentliches JsonResult GetItem(Zeichenfolge Objekttyp) { wenn (Objekttyp == "Student") { Studentenelement = neuer Student { nein = "S001", Name = "Zhang San", Geschlecht = "Männlich", }; Liste<Spalte> Spalten = neue Liste<Spalte>(); columns.Add(new Column { columnname = "nein", displaynname="Matrikelnummer" }); columns.Add(neue Spalte { Spaltenname = "Name", Anzeigename = "Name" }); columns.Add(new Column { columnname = "Geschlecht", displaynname = "Geschlecht" }); return Json(neu { Code = "1", msg = "", Element = Element, Spalten = Spalten }); } anders { Schulartikel = neue Schule { nein = "S001", Name = "Zhejiang-Universität", Adresse = "Zhejiang", }; Liste<Spalte> Spalten = neue Liste<Spalte>(); columns.Add(neue Spalte { Spaltenname = "nein", Anzeigename = "Kodierung" }); columns.Add(neue Spalte { Spaltenname = "Name", Anzeigename = "Name" }); columns.Add(neue Spalte { Spaltenname = "Adresse", Anzeigename = "Adresse" }); return Json(neu { Code = "1", msg = "", Element = Element, Spalten = Spalten }); } } [HttpPost] öffentliches JsonResult SaveItem(Zeichenfolge Objekttyp, Zeichenfolge Elementzeichenfolge) { wenn (Objekttyp == "Student") { Studentenelement = JsonConvert.DeserializeObject<Student>(itemstring); } anders { Schulelement = JsonConvert.DeserializeObject<Schule>(itemstring); } return Json(new { ResultCode = "1", ResultMessage = "Erfolgreich gespeichert!" }); } } öffentliche Klasse Student { öffentliche Zeichenfolge nein { abrufen; festlegen; } öffentlicher Zeichenfolgenname { abrufen; festlegen; } öffentliche Zeichenfolge „Geschlecht“ { abrufen; festlegen;} } öffentliche Klasse Schule { öffentliche Zeichenfolge nein { abrufen; festlegen; } öffentlicher Zeichenfolgenname { abrufen; festlegen; } öffentliche String-Adresse { abrufen; festlegen; } } öffentliche Klasse Spalte { öffentlicher Zeichenfolgenspaltenname { abrufen; festlegen; } öffentliche Zeichenfolge Anzeigename { abrufen; festlegen; } } } 2. AngularJS-Frontend-Code @{ ViewData["Titel"] = "Homepage"; } <Skripttyp="text/javascript"> var app = angular.module("meine_app", []); app.controller('mein_controller', Funktion ($scope) { //Speichern $scope.saveItem = function () { var itemstring = JSON.stringify($scope.item) $.post('@Url.Action("SaveItem", "Home")', { Objekttyp: '@ViewBag.Objekttyp', Artikelzeichenfolge: Artikelzeichenfolge }, Funktion (Daten) { }); } //Holen Sie sich $scope.getItem = function () { $.post('@Url.Action("GetItem", "Home")', { Objekttyp: '@ViewBag.Objekttyp' }, Funktion (Ergebnis) { $scope.item = Ergebnis.item; $scope.columns = Ergebnis.columns; $scope.$apply(); }); } $scope.getItem(); }); </Skript> <div> <ul> <li ng-repeat="Spalte in Spalten"> <span>{{column.displaynname}}</span> <input ng-if="item[spalte.spaltenname]&&item[spalte.spaltenname].länge" ng-model="item[spalte.spaltenname]" /> </li> </ul> <input type="button" value="Speichern" ng-click="saveItem();" /> </div> Dies ist das Ende dieses Artikels über die Implementierung dynamischer Spalten durch Schleifen von Objekteigenschaften in AngularJS. Weitere relevante Inhalte zu dynamischen Spalten in AngularJS finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: 14 Techniken für leistungsstarke Websites
>>: Lösen Sie das Problem, dass ifconfig im Docker nicht verfügbar ist
Docker-Download-Adresse: http://get.daocloud.io/#...
Inhaltsverzeichnis 1. Einleitung 2. Haupttext 2.1...
Schreiben Sie Konfigurationsdateien in server.xml...
Das Zählen der Größe jeder Tabelle in jeder Daten...
Inhaltsverzeichnis Überblick Durchführung Schutz-...
Erste: Code kopieren Der Code lautet wie folgt: &l...
Dieser Artikel veranschaulicht anhand eines Beisp...
Negative Distanz bezieht sich auf Empathie. Vorwo...
Vorwort: Mybatis-Sonderzeichenverarbeitung, Verar...
Phänomen Es gibt mehrere verschachtelte Flex-Stru...
Es gibt ein Heilmittel gegen Reue auf der Welt, s...
Dieser Artikel stellt Jenkins+Maven+SVN+Tomcat üb...
Erfahren Sie mehr über ähnliche Methoden zum Ermi...
MySQL implementiert Sequenzfunktion 1. Erstellen ...
Inhaltsverzeichnis Erklärung des V-Texts bei „if“...