English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Dettagli di copy deep copy dell'API di AngularJs e codice di esempio

Angular fornisce un'API per copiare gli oggetti - copy(source, destination), che esegue una copia profonda dell'oggetto source.

Attenzione, durante l'uso, è necessario considerare i seguenti punti:

  1. Se c'è solo un parametro (non è stato specificato l'oggetto da copiare), viene restituito un oggetto copiato
  2. Se è stato specificato destination, verrà effettuata una copia profonda dell'oggetto e copiato in destination
  3. Se source è null o undefined, verrà restituito direttamente source
  4. Se source è uguale a destination, verrà generato un errore.

Ecco un esempio di utilizzo:

<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <script src="http://apps.bdimg.com/libs/angular.js/1.2.16/angular.min.js"></script>
</head>
<body ng-app="copyExample">
  <div ng-controller="ExampleController">
    <form novalidate class="simple-form">
      Name: <input type="text" ng-model="user.name" /><br />
      E-mail: <input type="email" ng-model="user.email" /><br />
      Gender: 
      <input type="radio" ng-model="user.gender" value="male" />
      male
      <input type="radio" ng-model="user.gender" value="female" />
      female
      <br />
      <button ng-click="reset()">RESET</button>
      <button ng-click="update(user)">SAVE</button>
    </form>
    <pre>form = {{user | json}}</pre>
    <pre>master = {{master | json}}</pre>
  </div>
  <script>
  angular.module('copyExample', [])
  .controller('ExampleController', ['$scope', function($scope) {
    $scope.master= {};
    var test1;
    console.log(angular.copy(test1));//undefined
    var test3=null;
    console.log(angular.copy(test2));//undefined
    var test2 = "a";
    // console.log(angular.copy(test2,test2));//error!!
    $scope.update = function(user) {
      // Esempio con 1 argomento
      $scope.master= angular.copy(user);
    };
    $scope.reset = function() {
      // Esempio con 2 argomenti
      angular.copy($scope.master, $scope.user);
      console.log($scope.master);
      console.log($scope.user);
    };
    $scope.reset();
  });
  </script>
</body>
</html>

Ecco la raccolta di materiali su copy deep copy dell'API AngularJS, continueremo a integrare ulteriori materiali, grazie per il supporto della nostra community!

Dichiarazione: il contenuto di questo articolo è stato tratto da Internet, il copyright spetta ai rispettivi autori, il contenuto è stato contribuito e caricato autonomamente dagli utenti di Internet, questo sito non detiene i diritti di proprietà, non è stato editato manualmente e non assume responsabilità legali correlate. Se trovi contenuti sospetti di violazione del copyright, ti preghiamo di inviare una e-mail a notice#oldtoolbag.com (al momento dell'invio dell'e-mail, sostituisci # con @) per segnalare, fornendo prove pertinenti. Una volta verificata, questo sito eliminerà immediatamente il contenuto sospetto di violazione del copyright.

Ti potrebbe interessare