我正在尝试使用 laravel 图表库在网页(laravel)中实现图表。 目前我能够使用
填充数据{!! $chart->container() !!}
在视图中。
我想写一个js函数,每分钟刷新一次图表数据。
在 laravel 图表文档中,他们提供了如下代码,因此它将返回我们需要的值到视图。
chart = new SampleChart;
$chart->dataset('Sample Test', 'bar', [3,4,1]);
$chart->dataset('Sample Test', 'line', [1,4,3]);
return $chart->api();
js
var original_api_url = {{ $chart->id }}_api_url;
{{ $chart->id }}_refresh(original_api_url);
我不明白的是,在哪里使用这些函数以及如何使用这些刷新函数来刷新我的图表? 因此,我们是否必须替换 {{ $chart->id }}_api_url; 的 _api_url 部分?上面提到的js?
我是 Laravel 新手。如果您熟悉使用 laravel 图表,请告诉我如何解决这个问题。
文档网址 https://charts.erik.cat/api_charts.html#building-the-chart
谢谢你。
因此,要使用刷新功能,您需要一个控制器,该控制器具有以 json 形式返回数据的方法。
因此创建一个新的控制器方法:
public function chartApi() {
$chart = new SampleChart;
$chart->dataset('Sample Test', 'bar', [3,4,1]);
$chart->dataset('Sample Test', 'line', [1,4,3]);
return $chart->api();
}
并为其添加路线:
Route::get('chart-data', ['uses' => 'YourController@chartApi']);
然后,在渲染图表视图的控制器中:
$chart = new SampleChart;
$api = url('/chart-data');
$chart->labels(['test1', 'test2', 'test3'])->load($api)
return view('yourview', ['chart' => $chart]);
你能帮我解决我在这里提出的这个问题吗?
https://github.com/ConsoleTVs/Charts/issues/16#issuecomment-1664449354