Javascript 在事件发生时重新加载/启动控制器

Javascript 在事件发生时重新加载/启动控制器,javascript,jquery,angularjs,d3.js,Javascript,Jquery,Angularjs,D3.js,我有一个控制器,如下所示。它使用d3指令绘制线图,并通过服务从JSON请求中获取数据 myApp.controller('DownloadsLineCtrl', ['$scope', 'requestService', function($scope, requestService){ $scope.title = 'Downloads over Time'; $scope.tooltip = 'Test tooltip'; requestService.getDownloadsLi

我有一个控制器,如下所示。它使用d3指令绘制线图,并通过服务从JSON请求中获取数据

myApp.controller('DownloadsLineCtrl', ['$scope', 'requestService', function($scope, requestService){
  $scope.title = 'Downloads over Time';
  $scope.tooltip = 'Test tooltip';
  requestService.getDownloadsLineData(global_m, global_y).then(function(data) {
        $scope.d3Data = data;
    });
}]);

我还有一个重载控件,当变量
global_m
global_y
发生变化时,它应该重载控制器。我如何着手实施这一点?我不知道从哪里开始。。。我来自JQuery思维模式,很难对大脑进行角度化。

您不必重新加载控制器m8$范围。$watch是您需要的:

例如:

$scope.$watch('global_m', function(newValue, oldValue) {
  // global_m was changed, new value is 'newValue'
});

您必须先声明$scope.global\m,才能使用$watch observer。您可以对要查看的其他变量执行相同的操作。

酷!对不起,有没有一个简单的psuedocode示例或参考可以链接到我?不太清楚如何同步。用一个例子编辑了我的答案;你需要在$scope上声明一些变量,你可以观察它们并在它们改变时运行你需要的任何东西。好的,我试试。谢谢