我需要将$ scope变量的值从我的角度控制器传递给我的角度工厂,在此我将该值进一步用于其他计算。
控制器 :
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;
}]);
我控制器中的“值”只是一个选中的单选按钮。在我的工厂内,变量x具有调用我的工厂函数的其他函数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.
}]);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句