了解angular.copy()在1.0.7到1.2.26之间的变化

Understanding the changes in angular.copy() between 1.0.7 to 1.2.26

本文关键字:之间 变化 copy angular 了解      更新时间:2023-09-26

嘿,AngularJS巫师们!

我正在尝试实现与下面的plnkr类似的东西。原来的帖子。

http://plnkr.co/edit/mzQhGg?p=info

var projectsApp = angular.module('projects', ['ngResource']);
projectsApp.config(function($routeProvider) {
  $routeProvider
          .when('/', {
    controller: 'ProjectListCtrl',
    templateUrl: 'projectlist.html'})
          .when('/project/:id', {
    controller: 'ProjectDetailCtrl',
    templateUrl: 'projectdetail.html'
  })
          .otherwise('/');
});
projectsApp.factory('Project', function($http) {
  var json = $http.get('project.json').then(function(response) {
    return response.data;
  });
  var Project = function(data) {
    if (data) angular.copy(data, this);
  };
  Project.query = function() {
    return json.then(function(data) {
      return data.map(function(project) {
        return new Project(project);
      });
    })
  };
  Project.get = function(id) {
    return json.then(function(data) {
      var result = null;
      angular.forEach(data, function(project) {
        if (project.id == id) result = new Project(project);
      });
      return result;
    })
  };
  return Project;
});
projectsApp.controller('ProjectListCtrl', function(Project, $scope) {
  $scope.projects = Project.query();
});
projectsApp.controller('ProjectDetailCtrl', function(Project, $routeParams, $scope) {
  $scope.project = $routeParams.id
          ? Project.get($routeParams.id)
          : new Project();
});

在这个例子中,它运行得很好,但我注意到angularjs引用的是1.0.7,而不是最新的1.2.26。一旦我将脚本引用更新到1.2.26,示例就中断了。我认为问题出现在调用angular.copy(data, this)app.js文件的第21行。

我对angularjs还是个新手。我试着在谷歌上搜索,但没能弄清楚1.0.7和1.2.26之间有什么突破性的变化。我找到了这个并搜索了angular.copy(),但我只是不理解与我的示例相关的后果。另外,我想更好地理解它。

提前感谢!

您必须在代码中包含角度路由js。因为在最新版本中,路由与一般的angular js脚本分离。

谢谢,Sandeep Garg