0
私のアプリケーションコントローラで私は私のAPIにリクエストを行います。それは次のようになります。anglejsからd3にjsonを渡すにはどうすればいいですか?
.state('state1', {
url: '/datas/:id',
templateUrl: 'myurl.com',
title: 'title',
controller: function($http, $rootScope, $location, $stateParams){
var id = $stateParams.id;
$http.post('http://' + $location.host() + id, {id: id } , {})
.then(function(d){
$rootScope.data = d.data;
},
function(err){
console.log(err);
});
},
})
私D3スクリプトは次のようなものです:
<script>
...
var force = d3.layout.force().size([width, height]).on("tick", tick);
var svg = d3.select("#d3g").append("svg").attr("width", width).attr("height", height);
var link = svg.selectAll(".link"),
node = svg.selectAll(".node");
...
...
d3.json("data.json", function(error, json) {
if (error){
console.log(error);
}
...
...
</script>
は、どのように私はD3に私は(controller
に)APIからの受信データを渡すことができます表示(inとhtmlファイル)。
をコントローラでAjaxをすでに実行しているので、d3.jsonを実行する必要はありません。そのため、d3.json成功ブロック内のコードをpromiseの関数に移動する必要があります。 – Cyril
@Cyrilありがとう私はデータにアクセスできますか? – dmx