AngularJS 1.4-CRUD-无法添加伪JSON数据

AngularJS 1.4-CRUD-无法添加伪JSON数据,json,angularjs,Json,Angularjs,我试图在AngularJS 1.4中简化CRUD,下面是链接 当我尝试使用下面的代码在JSON字符串中添加雇员时,它不起作用 $scope.employees.push($scope.employee); 参考:我遵循了这个教程,它使用了AngularJS的旧版本 它正在添加员工。问题是,添加员工后,您正在重新加载页面,这将有效地重新加载应用程序并重置初始状态。由于您使用的是内存中的列表,因此更改将丢失。如果没有数据库,请考虑使用本地存储。 < p>它正在添加雇员。问题是,添加员工后,您正在

我试图在AngularJS 1.4中简化CRUD,下面是链接

当我尝试使用下面的代码在JSON字符串中添加雇员时,它不起作用

$scope.employees.push($scope.employee);
参考:我遵循了这个教程,它使用了AngularJS的旧版本
它正在添加员工。问题是,添加员工后,您正在重新加载页面,这将有效地重新加载应用程序并重置初始状态。由于您使用的是内存中的列表,因此更改将丢失。如果没有数据库,请考虑使用本地存储。

< p>它正在添加雇员。问题是,添加员工后,您正在重新加载页面,这将有效地重新加载应用程序并重置初始状态。由于您使用的是内存中的列表,因此更改将丢失。如果没有数据库,请考虑使用本地存储。

< p>它正在添加雇员。问题是,添加员工后,您正在重新加载页面,这将有效地重新加载应用程序并重置初始状态。由于您使用的是内存中的列表,因此更改将丢失。如果没有数据库,请考虑使用本地存储。

< p>它正在添加雇员。问题是,添加员工后,您正在重新加载页面,这将有效地重新加载应用程序并重置初始状态。由于您使用的是内存中的列表,因此更改将丢失。如果没有数据库,请考虑使用本地存储。

控制器不是单独的,它们是在加载页面时启动的,请求它们。你的

addController
实际上正在更新你的
employees
值,但是
$location.path()
正在导航回
listController
,它正在重新运行并重置你的
employees

这个问题的一个解决方案是使用服务。您可以创建包含这些内容的服务,而不是在
$scope
上定义
员工。服务是单例的,可以注入任何需要访问这些属性的控制器

crudApp.service('employeeService', function(){
  this.employees = [{
    name: 'Jay',
    city: 'London',
    age: '36'
  }, {
    name: 'Mohan',
    city: 'Chennai',
    age: '44'
  }];
});

crudApp.controller('listController', function($scope, employeeService) {
  $scope.employees = employeeService.employees;
});

crudApp.controller('addController', function($scope, $location, employeeService) {
  $scope.employee = {
    name: "",
    city: "",
    age: ""
  };

  $scope.add = function() {
    employeeService.employees.push($scope.employee);
    $location.path('/');
  };
});

控制器不是单例控制器,每次加载请求它们的页面时都会启动它们。你的
addController
实际上正在更新你的
employees
值,但是
$location.path()
正在导航回
listController
,它正在重新运行并重置你的
employees

这个问题的一个解决方案是使用服务。您可以创建包含这些内容的服务,而不是在
$scope
上定义
员工。服务是单例的,可以注入任何需要访问这些属性的控制器

crudApp.service('employeeService', function(){
  this.employees = [{
    name: 'Jay',
    city: 'London',
    age: '36'
  }, {
    name: 'Mohan',
    city: 'Chennai',
    age: '44'
  }];
});

crudApp.controller('listController', function($scope, employeeService) {
  $scope.employees = employeeService.employees;
});

crudApp.controller('addController', function($scope, $location, employeeService) {
  $scope.employee = {
    name: "",
    city: "",
    age: ""
  };

  $scope.add = function() {
    employeeService.employees.push($scope.employee);
    $location.path('/');
  };
});

控制器不是单例控制器,每次加载请求它们的页面时都会启动它们。你的
addController
实际上正在更新你的
employees
值,但是
$location.path()
正在导航回
listController
,它正在重新运行并重置你的
employees

这个问题的一个解决方案是使用服务。您可以创建包含这些内容的服务,而不是在
$scope
上定义
员工。服务是单例的,可以注入任何需要访问这些属性的控制器

crudApp.service('employeeService', function(){
  this.employees = [{
    name: 'Jay',
    city: 'London',
    age: '36'
  }, {
    name: 'Mohan',
    city: 'Chennai',
    age: '44'
  }];
});

crudApp.controller('listController', function($scope, employeeService) {
  $scope.employees = employeeService.employees;
});

crudApp.controller('addController', function($scope, $location, employeeService) {
  $scope.employee = {
    name: "",
    city: "",
    age: ""
  };

  $scope.add = function() {
    employeeService.employees.push($scope.employee);
    $location.path('/');
  };
});

控制器不是单例控制器,每次加载请求它们的页面时都会启动它们。你的
addController
实际上正在更新你的
employees
值,但是
$location.path()
正在导航回
listController
,它正在重新运行并重置你的
employees

这个问题的一个解决方案是使用服务。您可以创建包含这些内容的服务,而不是在
$scope
上定义
员工。服务是单例的,可以注入任何需要访问这些属性的控制器

crudApp.service('employeeService', function(){
  this.employees = [{
    name: 'Jay',
    city: 'London',
    age: '36'
  }, {
    name: 'Mohan',
    city: 'Chennai',
    age: '44'
  }];
});

crudApp.controller('listController', function($scope, employeeService) {
  $scope.employees = employeeService.employees;
});

crudApp.controller('addController', function($scope, $location, employeeService) {
  $scope.employee = {
    name: "",
    city: "",
    age: ""
  };

  $scope.add = function() {
    employeeService.employees.push($scope.employee);
    $location.path('/');
  };
});