AngularJS 1.4-CRUD-无法添加伪JSON数据
我试图在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>它正在添加雇员。问题是,添加员工后,您正在
$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('/');
};
});