Jump to content

Community durchsuchen

Zeige Ergebnisse für die Stichwörter "'template'".

  • Suche mithilfe von Stichwörtern

    Trenne mehrere Stichwörter mit Kommata voneinander
  • Suche Inhalte eines Autors

Inhaltstyp


Forum

  • Forum
  • Ausbildung/Job
    • Ausbildung im IT-Bereich
    • IT-Arbeitswelt
    • IT-Weiterbildung
    • Stellenangebote für Fachinformatiker
    • Jobsuche, Bewerbung und Zeugnisse
  • Prüfungsforen
    • IHK-Prüfung allgemein
    • Prüfungsaufgaben und -lösungen
    • Abschlussprojekte
  • NEU: Frage / Antwort: 1. Frage stellen - 2. Antworten bekommen - 3. Die beste Antwort auswählen
    • Für Systemadministratoren und Netzwerktechniker
    • Für Anwendungsentwickler und Programmierer
  • Fachliche Foren
    • Administration
    • Programmierung
  • Sonstiges
    • News und Feedback zu Fachinformatiker.de
    • Small Talk
  • Gaming Club's Allgemeine Themen
  • Gaming Club's Games
  • Coffeehouse's Themen
  • Coffeehouse's Soap
  • Fachinformatiker.de Treffen's regionale Treffen

Kalender

  • Pruefungen-events
  • Gaming Club's Verabreden zum Zocken
  • Fachinformatiker.de Treffen's Kalender

Product Groups

  • Werben bei Fachinformatiker.de

Blogs

Keine Suchergebnisse

Keine Suchergebnisse


Finde Suchtreffer ...

Suchtreffer enthalten ...


Erstellungsdatum

  • Beginn

    Ende


Zuletzt aktualisiert

  • Beginn

    Ende


Suchtreffer filtern nach ...

Benutzer seit

  • Beginn

    Ende


Gruppe


Website


Ort

2 Ergebnisse gefunden

  1. Hallo, ich soll eine Ansicht entwickeln, auf welcher man die Daten von zwei Entities "mergen" kann. Die Oberfläche sieht momentan ungefähr so aus, wie im Anhang (Wenn jemand ne bessere Idee hat, nehme ich gern!). Ich habe so ungefähr 25 verschiedene Felder und bin nicht so scharf drauf, das alles per Hand zu schreiben und zu pflegen. Grade Änderungen am Styling (z.B. neue HTML-Klassen) sind so relativ mühsam. Der simpelste Ansatz ist dieser: <tr ng-repeat = "(prop, value) in update"> <td><label>{{prop}}</label></td> <td><input type="text" ng-model="update[prop]"/> <label>{{backup[prop]}}</label> </td> <td><input type="button" value="<" ng-click="copyToLeft(prop)" /</td> <td><label>{{toDelete.prop}}</label></td> </tr> "Update" ist die Entity, die momentan bearbeitet wird und in welche die Daten "hineingemerged" werden. Backup ist eine Kopie davon, die links neben den Buttons eingeblendet wird, damit der Benutzer abgleichen kann, wie es vorher war. Rechts neben den Buttons is "toDelete", da dieser Datensatz nach dem Mergen gelöscht wird. Problem: Bei booleans wird "true" angezeigt, bei Arrays "[]", was zwar korrekt, aber so für einen Laien nicht benutzbar ist. Es gibt insgesamt 3 Arten von Datentypen in den Feldern: Strings, Booleans und Arrays von Objekte. Wobei die Objekte alle nur die beiden Felder id und title haben. Soviel zu den Anforderungen. Ich habe einen Code, der macht, was er soll. Aber naja... es ist verdammt hässlich und hat einige Wiederholungen und potentielle Fehlerquellen: Hat jemand nen Tipp für mich, wie ich das Template schöner generieren kann? Ich habe hier auch schon mit ng-switch experimentiert, aber das funktioniert leider nicht bei Ausdrücken wie isBoolean(), sondern nur bei hart codierten Bedingungen. <body ng-controller="mergeController"> <table> <tr ng-repeat = "(prop, value) in update"> <td><label>{{prop}}</label></td> <td> <div ng-if="isBoolean(value)"> <input type="checkbox" ng-model = "update[prop]"> </div> <div ng-if="isArray(value)" ng-repeat="item in value track by $index"> <input ng-model="update[prop][$index].title"/> </div> <div ng-if="!isBoolean(value) && !isArray(value)"> <input type="text" ng-model="update[prop]"/> </div> </td> <td> <div ng-if="isBoolean(value)"> <input type="checkbox" ng-model = "backup[prop]" ng-disabled="true"> </div> <div ng-if="isArray(value)" ng-repeat="item in value track by $index"> <label>{{backup[prop][$index].title}}</label> </div> <div ng-if="!isBoolean(value) && !isArray(value)"> <label>{{backup[prop]}}</label> </div> </td> <td> <div ng-if="isArray(value)" ng-repeat = "(key, item) in value track by $index"> <input type="button" value="<" ng-click="copyToLeftInArray(prop, $index)" /> </div> <div ng-if="!isArray(value)"> <input type="button" value="<" ng-click="copyToLeft(prop)" /> </div> </td> <td> <div ng-if="isBoolean(value)"> <input type="checkbox" ng-model="toDelete[prop]" ng-disabled = "true"/> </div> <div ng-if="isArray(value)" ng-repeat = "item in value track by $index"> <label>{{toDelete[prop][$index].title}}</label> </div> <label ng-if="!isArray(value) && !isBoolean(value)">{{toDelete[prop]}}</label> </td> </tr> </table> <input id="submit" type="button" value="Merge" ng-click="merge()"> </body> Controller: app.controller("mergeController", [ '$scope', function ($scope) { $scope.test = true; $scope.update = { name: 'my name', online: true, friends: [ { id: 1, title: 'A' }, { id: 2, title: 'B' }, { id: 3, title: 'C' } ] } $scope.backup = {}; for (var prop in $scope.update) { if ($scope.update.hasOwnProperty(prop)) { $scope.backup[prop] = $scope.update[prop]; } } $scope.toDelete = { name: 'other', online: false, friends: [ { id: 4, title: 'D' }, { id: 5, title: 'E' }, { id: 6, title: 'F' } ] } $scope.copyToLeft = function (attribute) { $scope.update[attribute] = $scope.toDelete[attribute]; } $scope.copyToLeftInArray = function (attribute, index) { $scope.update[attribute][index] = $scope.toDelete[attribute][index]; } $scope.isBoolean = function (value) { return typeof(value) === 'boolean'; } $scope.isArray = function (value) { return Array.isArray(value); } } ]);
  2. Hallo, ich versuche mich gerade an einem Changelog, das, sobald eine Variable eines beliebigen Typs geändert wird, ebendiese Änderung mit einem Timestamp als Key in einer "map" abspeichern soll. Um nicht an einen Datentyp gebunden zu sein, habe ich eine Klasse "Change" als template geschrieben, die jeweils neuen und alten Wert der Variable beinhalten soll (die Variable, auf die sich die Änderung bezieht, wird noch nicht referenziert, was für mein Problem aber auch egal ist). Das ganze nutzt mir natürlich herzlich wenig, wenn ich mich bei der Definition der "map" dann doch auf einen Datentyp festlegen muss. Ich hatte mir das so vorgestellt: #include <ctime> #include <iostream> #include <map> using namespace std; template<class T> class Change { T n; T o; public: Change(T n, T o) : n(n), o(o) {} T getN() { return n; } T getO() { return o; } }; map<time_t, Change< /* ??? */ >> changelog; int main() { changelog.insert(pair < time_t, Change<int>>(time(NULL), Change<int>(0, 0))); } Die mit "???" markierte Stelle ist mein Problem. Kann ich da irgendetwas einsetzen, um den Datentyp, der hinterher tatsächlich verwendet werden soll, noch offen zu lassen oder geht das sowieso nicht? Die einzige Alternative, die mir einfällt, ist "Change" (dann nicht als template) so umzuschreiben, dass die Klasse für alle möglichen Datentypen Variablen für jeweils neu und alt bereitstellt und entsprechende Konstruktoren. Das dürfte aber ziemlich aufwendig werden. Gibt es eine andere (einfachere) Lösung? Gruß PL1994

Fachinformatiker.de, 2019 SE Internet Services

fidelogo_small.png

if_icon-6-mail-envelope-closed_314900.pnSchicken Sie uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App


Get it on Google Play

Kontakt

Hier werben?
Oder senden Sie eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...

Wichtige Information

Fachinformatiker.de verwendet Cookies. Mehr dazu in unserer Datenschutzerklärung