将数据从功能B传输到功能A.

时间:2016-12-15 09:36:06

标签: javascript angularjs

我需要从函数B和函数A传输数据。这是代码

这是功能A

$scope.OneWeekData = function () { 
    var days = 7;
    $scope.getChart(days);
};

这是功能B

 $scope.vm = {};
 var getJunkData = false;
 $scope.vm.myClick = function ($event) {
    if ($event == true) {
        getJunkData = $event;
        $scope.OneWeekData(days)
    } else {
        getJunkData = $event;
        $scope.OneWeekData()
    }
 };

这是函数C

var params = {};
$scope.getChart = function (days, from, to) {};

流程应该是这样的,我有一个HTML图表,每个图表都有显示范围按钮,一周,两周等...我也有复选框,你可以选择是否仅显示纯化和充足的数据或渲染器和错误数据。 现在,它的工作方式是用户可以单击任何日期范围并接收图表中的数据。如果您选中了复选框,然后单击其中一个日期范围,则不会获取纯化数据,反之亦然。我希望如果用户选择日期范围,例如,两周,并且如果选中复选框,则会自动显示日期预选的日期范围。 例如,第一个调用函数B,vm.myClick($ event)检查checkiran复选框,如果为true则调用函数A,并在函数A填充DAYS之后调用C的主函数。

因为我有不同日期范围的单独功能

$scope.OneMonthData = function () {
    var days = 30;
    $scope.getChart(days);
};
$scope.threeMonthsData = function () {
    var days = 90;
    $scope.getChart(days);
};
$scope.allData = function () {
    var days = 360;
    $scope.getChart(days);
};

$scope.getDateRange = function () {
    var from = $scope.ctrl.picker4.date;
    var to = $scope.ctrl.picker5.date;

    $scope.getChart(null, from, to);
};

如何动态记住所选择的日期范围,因此如果我们选择60天您单击复选框,则自动作为所选函数A的B填充天数的函数,

我希望你理解,谢谢

编辑: 也许是一个简单的问题,当你点击其中一个日期范围时,填写全局可访问的变量。并且在每次点击时点击另一个按钮daterange,空变量并填写点击日期范围的新日期。这些日子可以在功能B

中找到

1 个答案:

答案 0 :(得分:4)

您只需在$scope中指定一个变量并将其传递。

假设:

$scope.dataYouNeedToPass = {} //initialize in the controller

function A(){
  $scope.dataYouNeedToPass = setNewValue(); //do whatever manipulation you need to do
}

function B(){
   var getNewValue = $scope.dataYouNeedToPass; // use it in another function
}