我怎么能在angularjs中的服务的两个function之间传递数据
我正在尝试创build一个多步表单,其中我做了两个不同的视图和两个不同的控制器,我试图将数据从视图1传递到在服务中定义的函数,然后试图在同一服务的另一个函数中访问这些数据。 以下是我写的服务:service.js
var EmployeeService = angular.module('EmployeeService',[]) .service('AddEmployee', function($resource){ var Employee = $resource('/api/meetups'); var emp_email=""; this.email = function(email){ var emp_email = email; return emp_email; }; this.personal = function(first_name){ var employee = new Employee(); employee.email = emp_email; employee.first_name = first_name; employee.$save(); }; });
我试图将email函数的emp_emailvariables存入个人函数。 但我不能这样做。 有没有什么办法可以在我的第二个函数中使用emp_emailvariables。
以下是使用服务的控制器:
app.controller('mainCrl', ['$scope', '$resource', '$location', 'AddEmployee', function ($scope, $resource, $location, AddEmployee){ $scope.nextSection = function(){ $scope.email = AddEmployee.email($scope.employeeEmail); }; }]); app.controller('secondCrl', ['$scope', '$resource', '$location', 'AddEmployee', function ($scope, $resource, $location, AddEmployee){ $scope.secondSection = function(){ $scope.first_name = AddEmployee.personal($scope.first_name); }; }]);
nextSection函数在用户填写邮件时触发并在下一部分触发,secondSection函数在用户在第二个视图中inputfirst_name并点击提交时执行。
如何在服务中的两个函数之间传递数据? 任何forms的帮助真的很感激!
代码的问题在于,您在电子邮件function中创build了第二个“emp_email”variables,因此您分配的电子邮件将转到电子邮件function中的本地emp_emailvariables,而不是在电子邮件function中的emp_emailvariables服务function。
所以删除var和更改
this.email = function(email){ var emp_email = email; return emp_email; };
至
this.email = function(email){ emp_email = email; return emp_email; };
这应该允许你在函数之间共享emp_emailvariables。
更换
var emp_email = email;
同
return emp_email = email;
(你修改本地variables)
- 在AngularJS应用程序中,可以引用bower和node文件夹中的文件吗?
- “EMALFORMED无法读取bower.json”“意外的令牌/”
- 有没有办法使用业力没有运行节点?
- 无法在typescript / angular2环境中设置持久会话,在后端设置nodejs
- 如何在已经存在的REST API后端的Angular应用程序中实现login系统
- 在Codeship和Heroku中的angular度代码
- Prerender.io不caching页面
- JavaScript:使用页面对象进行量angular器testing,select下拉列表项目
- 数据不会从AngularJS控制器传递到NodeJS服务器