JSFiddle - React, Tailwind, and code Playground
HTML
<div data-ng-app="demoapp">
<div data-ng-controller="ParentCtrl">
<div>{{User.UserId}}</div>
<div>{{User.Ordine.AnonymousID}}</div>
<ul>
<li ng-repeat="dett in User.Ordine.OrdineDettaglio">{{dett.CodArticolo}} - {{dett.NomeArticolo}}</li>
</ul>
<hr />
<h2>Aggiungi articolo</h2>
<form data-ng-submit="AggiungiArticolo()">
<input type="text" data-ng-model="NuovoArticolo.CodArticolo" required="required" />
<input type="text" data-ng-model="NuovoArticolo.NomeArticolo" required="required" />
<input type="submit" value="Aggiungi" />
</form>
</div>
</div>
JavaScript
var demoapp = angular.module('demoapp', {});
//creo il mio servizio di accesso ai dati. Si occuperĂ di inviare richieste al server
var api = demoapp.service('api', function () {
this.CurrentUserProfile = function () {
return {
UserId: "ALFKI",
Ordine: {
AnonymousID: "1234",
OrdineDettaglio: [{
CodArticolo: "XB1",
NomeArticolo: "Xbox One"
}, {
CodArticolo: "PS4",
NomeArticolo: "Playstation 4"
}, {
CodArticolo: "WU",
NomeArticolo: "Wii U"
}]
}
};
};
});
//Il controller ha una dipendenza dal servizio 'api' che ho creato poco fa
demoapp.controller('ParentCtrl', function ($scope, api) {
$scope.CreaNuovoArticolo = function () {
return {
CodArticolo: '',
NomeArticolo: ''
};
};
//ottengo i dati dal server usando il servizio 'api'
$scope.User = api.CurrentUserProfile();
//aggiungo un articolo alla collezione OrdineDettaglio
$scope.AggiungiArticolo = function () {
$scope.User.Ordine.OrdineDettaglio.push($scope.NuovoArticolo);
$scope.NuovoArticolo = $scope.CreaNuovoArticolo();
};
//Svuoto le caselle di testo creando un nuovo articolo
$scope.NuovoArticolo = $scope.CreaNuovoArticolo();
});