javascript - 在 OpenCPU 中使用 AngularJS $scope

标签 javascript angularjs opencpu

我对 AngularJS 有很好的了解,但我更像是一名 R 程序员,因此我正在尝试使用 OpenCPU js 库。

我无法理解的一件事是为什么我无法将简单 API 请求的输出分配给公共(public) OpenCPU 服务器 rnorm(n = 2) 函数,并将其分配给 Angular $scope。让我困惑的是,我可以使用 jquery 通过 ID 分配返回的 json。

据我了解,最佳实践是不要将 jquery 混合到 Angular Controller 中。我的想法对吗?

使用 Jquery

app.controller('rCtrl', function($scope){

  req = ocpu.rpc('rnorm',{
    n : 2
  }, function(output){$('#output').text(output)});
})

$范围不工作

app.controller('rCtrl', function($scope){

  req = ocpu.rpc('rnorm',{
    n : 2
  }, function(output){$scope.normalValues = output)});
})

最佳答案

由于您使用的是非 Angular 工具,因此您将在 Angular 摘要循环之外分配 $scope.normalValues 。使用 $scope.apply() 来解决这个问题:

app.controller('rCtrl', function($scope){

  req = ocpu.rpc('rnorm',{
    n : 2
  }, function(output){
     $scope.$apply(function(){
         $scope.normalValues = output;
     });
  )});
});

您也可以在设置范围值后立即调用 $scope.$apply() 但我个人喜欢回调语法,因为它可以更轻松地了解您使用它的原因。

关于javascript - 在 OpenCPU 中使用 AngularJS $scope,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32977877/

相关文章:

ruby - R 中带点的参数名称和/或变量

java - 使用javascript将dataURL转换为文件

javascript - react native android错误404

javascript - 使用 Json 填充剑道树

angularjs - 网络 Storm 8 : trying to exclude bower_components and keep autocompletion

javascript - 使用 OpenCPU 显示 R 函数的 html 返回

javascript - 使用悬停图像效果的最有效方式

javascript - gulp-filter 过滤掉所有文件

javascript - JSFiddle 不运行我的 AngularJS 代码

r - 如何连接安装在 RHEL/centOS 平台上的远程 Opencpu 服务器并使用 opencpu JS 从 R 获取结果?