Javascript 将$scope变量值传递给工厂变量/函数
我需要将$scope变量的值从我的角度控制器传递到我的角度工厂,该值将进一步用于其他计算 控制器:Javascript 将$scope变量值传递给工厂变量/函数,javascript,angularjs,Javascript,Angularjs,我需要将$scope变量的值从我的角度控制器传递到我的角度工厂,该值将进一步用于其他计算 控制器: angular.module('myApp').controller('MyController',['$scope', function($scope) { $scope.selectedValue = function(value) { $scope.valueToSend = value + 1000; } }]); 事实: angular.module('
angular.module('myApp').controller('MyController',['$scope', function($scope)
{
$scope.selectedValue = function(value)
{
$scope.valueToSend = value + 1000;
}
}]);
事实:
angular.module('myApp').factory("Factory", ["$q","$localStorage", function(q, $localStorage)
{
var functionToGetValue = function()
{
return value;
}
}
var x = { .... }
return x;
}]);
我的控制器中的“值”只是一个选中的单选按钮。
在my factory中,变量x具有调用my factory函数的其他函数functionToGetValue
是否有某种方法可以将$scope.valueToSend传递给我的工厂,以便我可以在那里进一步使用它本身???在您的工厂中有一个setter/getter方法,您可以使用该方法设置新值,并且当您想要重用它时,使用相同的方法获取它,如下所示:
angular.module('myApp').factory("Factory", ["$q","$localStorage",
function(q, $localStorage)
{
this.value = "";
return {
inputValue : function (value) {
if(value)
this.value = value;
else
return value;
}
}
}
var x = { .... }
return x;
}]);
现在,从你的控制器
angular.module('myApp').controller('MyController',['$scope', 'Factory'
function($scope, factory)
{
$scope.selectedValue = function(value)
{
$scope.valueToSend = value + 1000;
factory.inputValue($scope.valueToSend); // this will set the new value in the factory.
}
console.log(factory.inputValue()) // this will get the value from the factory.
}]);
在您的工厂中有一个setter/getter方法,您可以使用该方法设置新值,当您想要重用它时,请使用相同的方法来获取它,如下所示:
angular.module('myApp').factory("Factory", ["$q","$localStorage",
function(q, $localStorage)
{
this.value = "";
return {
inputValue : function (value) {
if(value)
this.value = value;
else
return value;
}
}
}
var x = { .... }
return x;
}]);
现在,从你的控制器
angular.module('myApp').controller('MyController',['$scope', 'Factory'
function($scope, factory)
{
$scope.selectedValue = function(value)
{
$scope.valueToSend = value + 1000;
factory.inputValue($scope.valueToSend); // this will set the new value in the factory.
}
console.log(factory.inputValue()) // this will get the value from the factory.
}]);
按照上述代码创建工厂,并在控制器中使用该工厂。使用Factory.setValue(valueToPass)
和Factory.functionToGetValue()
返回传递的值
按照上述代码创建工厂,并在控制器中使用该工厂。使用
Factory.setValue(valueToPass)
和Factory.functionToGetValue()
返回传递的值。将值传递给Factory然后将其更新返回控制器有什么问题?我不确定如何将该值传递给工厂,我想避免使用$rootScope。将值传递给工厂,然后将其更新返回给控制器有什么不对?我不知道如何将该值传递给工厂,我想避免使用$rootScope。