Angularjs 以角度从两个控制器传递数据
我想将数据从一个控制器传递到另一个控制器。Angularjs 以角度从两个控制器传递数据,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我想将数据从一个控制器传递到另一个控制器。 以下是我的职能: app.controller('formVacationController', function($scope, $state, $rootScope) { // we will store all of our form data in this object $scope.formData = {}; $rootScope.globalAnswers = ""; var point;
以下是我的职能:
app.controller('formVacationController', function($scope, $state, $rootScope) {
// we will store all of our form data in this object
$scope.formData = {};
$rootScope.globalAnswers = "";
var point;
checkAnswer = function(){
if($scope.formData.mashhad === "mashhad"){
point = 50;
}
else if($scope.formData.kish === "kish"){
point = 100;
}
else if($scope.formData.shomal === "shomal"){
point = 70;
} else if($scope.formData.shiraz === "shiraz"){
point = 60;
}
}
$scope.nextStep = function(){
checkAnswer();
$rootScope.globalAnswers = point;
$state.go('form.job');
}
});
另一方面:
var point;
point = $rootScope.globalAnswers;
我无法从第一个控制器获取值
我遗漏了什么吗?你可以使用这样的工厂:
app.factory('Point', function () {
var data = {
point: 0
};
return {
getPoint: function () {
return data.point;
},
setPoint: function (point) {
data.point = point;
}
};
});
然后在您的控制器中调用setPoint(point)以将点和getPoint()存储在另一个控制器中以检索它。您可以发布控制器吗?
rootScope
不是将数据传递给另一个控制器的好方法。您应该使用服务
或工厂
@dhavalcengg updated您能告诉我如何使用吗@alifirat@sani嗨,看看我对一个类似问题的回答。对于存储,我应该使用类似的东西:Point.settpoint(点);是的,您必须在控制器定义中包含“点”工厂,然后调用Point.setPoint(点);和Point.getPoint();