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

تفسير النسخ العميق في API AngularJs و مثال على الكود

يقدم angular واجهة برمجة تطبيقات يمكنها نسخ العناصر - copy(source,destination)، والتي تقوم بعمق نسخ العنصر source.

عند الاستخدام، يجب الانتباه إلى النقاط التالية:

  1. إذا كان هناك فقط معامل واحد (لم يتم تحديد مجرد النسخ)، فإنه سيقوم بإرجاع مجرد نسخة
  2. إذا تم تحديد destination، فإنه سيقوم بالنسخ العميق للمجرد إلى destination
  3. إذا كان source هو null أو undefined، فإنه سيقوم بإرجاع source مباشرة
  4. إذا كان source هو desitination، فإنه سيكون هناك خطأ.

هذا هو المثال على الاستخدام:

<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) {
      // Example with 1 argument
      $scope.master= angular.copy(user);
    };
    $scope.reset = function() {
      // Example with 2 arguments
      angular.copy($scope.master, $scope.user);
      console.log($scope.master);
      console.log($scope.user);
    };
    $scope.reset();
  });
  </script>
</body>
</html>

هذا هو جمع المعلومات حول copy深拷贝 من AngularJS API، سيتم استكمال المعلومات ذات الصلة لاحقاً، شكراً للدعم الذي يقدمونه للموقع!

بيان: محتوى هذا المقال تم جمعه من الإنترنت، حقوق النشر تخص المالك الأصلي، المحتوى تم إدراجه من قبل المستخدمين على الإنترنت بذاتهم، هذا الموقع لا يمتلك حقوق الملكية، لم يتم تعديل المحتوى بشكل يدوي، ولا يتحمل أي مسؤولية قانونية مرتبطة بذلك. إذا اكتشفت محتوى يشتبه في انتهاك حقوق النسخ، فأرجو إرسال بريد إلكتروني إلى: notice#oldtoolbag.com (أثناء إرسال البريد الإلكتروني، يرجى استبدال '#' بـ '@') للإبلاغ، وقدم الأدلة ذات الصلة، إذا تم التحقق من ذلك، سيتم حذف المحتوى المشبوه فوراً.

أنت قد تعجبك