我如何将旭日图转换为与 angularjs 一起使用的指令?
How can i convert sunburst graph as a Directive to use with angularjs?
我创建了一个 sunburst graph
正常 javascript。
现在我需要从服务获取数据并在 AngularJS 中生成图表。我怎样才能做出指令呢?任何示例或指导都会很棒。
我做了一个控制器来从服务中获取数据。代码在这里:
$scope.buildchart = function(widget) {
var w2 = new Worker("scripts/webworkers/bigQueryWorker.js");
w2.postMessage($scope.selectedClass + ","
+ $rootScope.hierarchystring.toString()
+ "," + "Hierarchy" + "," + Digin_Engine_API);
w2.addEventListener('message', function(event) {
hierarchyRetrieved(event);
});
function hierarchyRetrieved(event) {
var obj = JSON.parse(event.data);
console.log("Hierarchy data is");
console.log(JSON.stringify(obj));
};
};
有没有办法在这个函数中获取这些数据?
首先你做一个这样的指令:
<svg sunburst-chart></svg>
第二
像这样为 ajax 制作模拟函数:
function mockAnAjaxCall() {
window.setTimeout(function() {
$scope.data1 = {
"name": "Root",
"children": [{ ...
}]
};
$scope.$apply();//apply the scope as data is changed.
}, 3000); //ajax call gets over in 3 secs
第三
创建一个 link 函数来 watch
data1
变量上的数据更改。
link: function(scope, elem, attrs) {
//this will watch the scope data
scope.$watch(
"data1",//variable you are watching
function handleChange(root, oldValue) {
console.log(scope.data1)
if (!root) {
return;
}
//make the sun burst chart.
工作示例here
希望对您有所帮助!
我创建了一个 sunburst graph
正常 javascript。
现在我需要从服务获取数据并在 AngularJS 中生成图表。我怎样才能做出指令呢?任何示例或指导都会很棒。
我做了一个控制器来从服务中获取数据。代码在这里:
$scope.buildchart = function(widget) {
var w2 = new Worker("scripts/webworkers/bigQueryWorker.js");
w2.postMessage($scope.selectedClass + ","
+ $rootScope.hierarchystring.toString()
+ "," + "Hierarchy" + "," + Digin_Engine_API);
w2.addEventListener('message', function(event) {
hierarchyRetrieved(event);
});
function hierarchyRetrieved(event) {
var obj = JSON.parse(event.data);
console.log("Hierarchy data is");
console.log(JSON.stringify(obj));
};
};
有没有办法在这个函数中获取这些数据?
首先你做一个这样的指令:
<svg sunburst-chart></svg>
第二
像这样为 ajax 制作模拟函数:
function mockAnAjaxCall() {
window.setTimeout(function() {
$scope.data1 = {
"name": "Root",
"children": [{ ...
}]
};
$scope.$apply();//apply the scope as data is changed.
}, 3000); //ajax call gets over in 3 secs
第三
创建一个 link 函数来 watch
data1
变量上的数据更改。
link: function(scope, elem, attrs) {
//this will watch the scope data
scope.$watch(
"data1",//variable you are watching
function handleChange(root, oldValue) {
console.log(scope.data1)
if (!root) {
return;
}
//make the sun burst chart.
工作示例here
希望对您有所帮助!