angularjs - What is the use of angular.copy in this situation? -
i referring code on form posting coresponding angular documentation on simple form.
what use of angular.copy on here? seems code still working fine in case angular.copy being removed.
<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 /> <input type="button" ng-click="reset()" value="reset" /> <input type="submit" ng-click="update(user)" value="save" /> </form> <pre>user = {{user | json}}</pre> <pre>master = {{master | json}}</pre> </div> <script> angular.module('formexample', []) .controller('examplecontroller', ['$scope', function($scope) { $scope.master = {}; $scope.update = function(user) { $scope.master = angular.copy(user); }; $scope.reset = function() { $scope.user = angular.copy($scope.master); }; $scope.reset(); }]); </script>
angular.copy() make deep copy of contact object. reason user being overwritten ( can see using debugger point ).
as can read here angular.copy() performs deep copy (cf. "clone") of argument - creating new object - whereas using assignment operator = assigns reference's.
thus in latter case, if we're change in $scope.master change context.
Comments
Post a Comment