【发布时间】:2016-02-09 12:49:34
【问题描述】:
我已经看到someexamples 将 opencpu 与 angular 一起使用,但没有在流星中使用 opencpu 的示例(可以轻松实现 angular)。
是否就像在meteor中包含ocpu.seturl和jquery.min.js一样简单(就像here一样),还是在使用opencpu时需要在meteor中以不同的方式思考?
例如,there might be some conflicts between angular and meteor。
我知道这是一个分散的问题,但我发现我并不是唯一一个对此感到疑惑的人。
相关:
- https://groups.google.com/forum/#!topic/opencpu/rEi7lMK65GU
- https://www.quora.com/Is-it-possible-to-call-the-R-server-within-a-website-made-with-Meteor-run-some-R-code-then-display-its-output
例如(感谢http://jsfiddle.net/ramnathv/uatjd/15/):
var myApp = angular.module('myApp', ['angular-meteor']); //added 'angular-meteor'
//set CORS to call "stocks" package on public server
ocpu.seturl("//public.opencpu.org/ocpu/library/graphics/R")
myApp.factory('OpenCPU', function($http){
return {
Dist: function(dist){
var url = "http://public.opencpu.org//ocpu/library/stats/R/" + dist +
"/json"
return $http.post(url, {n: 100})
}
}
})
myApp.controller("HistCtrl", function($scope, $http, OpenCPU){
$scope.dist = 'rnorm'
$scope.dists = ['rnorm', 'runif']
$scope.color = 'blue'
$scope.colors = ['blue', 'red', 'darkmagenta']
$scope.breaks = 10
$scope.submit = function(){
var req = $("#plotdiv").rplot("hist", {
x : $scope.data,
col: $scope.color,
breaks: Math.floor($scope.breaks),
main: $scope.main
});
}
$scope.$watchCollection('[main, color, breaks, data]', function(x){
$scope.submit()
})
$scope.$watch('dist', function(newDist){
OpenCPU.Dist(newDist).success(function(result){
$scope.data = result
})
})
})
以上是一个“正确”的起点吗?应该如何在meteor(即opencpu、jquery.min.js)中声明依赖关系?新流星,所以任何建议都非常感谢!
【问题讨论】:
-
不错的赏金,但请将问题格式化为更具可读性并添加相关代码。
-
我已经编辑了您的帖子以使其更具可读性,我会留给您一个更能代表您的问题的问题标题
-
谢谢大家,我添加了我正在考虑的示例。
-
当你问这是否是一个正确的起点时,你的意思是什么?代码有效吗?代码是否实现了您想要的所有功能?如果不是,那么确切的问题是什么?我不了解 OpenCPU,但我知道 jQuery 包含在 Meteor 的客户端,并且可以在带有
api.use('jquery')的包中使用。你可能想制作自己的 OpenCPU Meteor 包来使用它。 -
作为外部资源的一个工作示例,根据help center,它与 StackOverflow 无关。相反,尝试整合这些技术并询问具体问题。
标签: angularjs r meteor restful-architecture opencpu