javascript - 在javascript数组中动态添加数据

标签 javascript laravel

我有这个 Controller :

public function main()
{
    $user=User::find(1);
    return view('home')->with('user',$user);
}

home.blade.php View 中,我需要获取用户的属性 travel、food、misc。我可以使用 $user->travel$user->food$user->misc 获取那些整数。 但是,我必须在饼图中显示这些费用。所以,我使用 chart.js

    Travel Expenses:{{$user->travel}}<br>
    Food Expenses:{{$user->food}}<br>
    Miscellaneous Expenses:{{$user->misc}}<br>

    <canvas id="myChart"></canvas>

    <script>
     var ctx = document.getElementById("myChart");
            var data = {
                labels: [
                    "Travel",
                    "Food",
                    "Miscellaneous"
                ],
                datasets: [
                    {
                        data: [300, 50, 100],
                        backgroundColor: [
                            "#FF6384",
                            "#36A2EB",
                            "#FFCE56"
                        ],
                        hoverBackgroundColor: [
                            "#FF6384",
                            "#36A2EB",
                            "#FFCE56"
                        ]
                    }]
            };
        </script>

这将显示静态数据 300、50 和 100。如何动态添加这些数据?我需要 data: [300, 50, 100],类似于 data: [$user->travel, $user->food, $user->misc],

最佳答案

你可以在你的 Controller 中做类似的事情:

public function main()
{
    $user = User::find(1);
    $data = [
        'user'      => $user,
        'dataChart' => [$user->travel, $user->food, $user->misc]
    ];
    return view('home', $data);
}

在你看来:

<script>
var ctx = document.getElementById("myChart");
var data = {
    labels: [
      "Travel",
      "Food",
      "Miscellaneous"
    ],
    datasets: [{
        data: {{$dataChart}},
        backgroundColor: [
            "#FF6384",
            "#36A2EB",
            "#FFCE56"
        ],
        hoverBackgroundColor: [
            "#FF6384",
            "#36A2EB",
            "#FFCE56"
        ]
    }]
};
</script>

这就解决了你的问题。

关于javascript - 在javascript数组中动态添加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43453087/

相关文章:

javascript - 使用 Firebase 制作实时订购仪表板

php - 我们如何根据 Java 脚本的 If-else 条件调用 Php 函数?

php - 如何提高 Laravel 过滤系统中多对多关系的查询速度?

javascript - ui-grid 的高度问题

javascript - 使用 Next.js 和钩子(Hook)设置间隔

php - 同一模型中的多对多

php - Laravel,我需要多个数据库表来对不同模型进行投票吗

javascript - jquery.min.js :2 Uncaught TypeError: Cannot read property 'replace' of undefined (javascript)(laravel)

JavaScript 事件循环 : Different queue for different types of events?

php - 未设置连接表 created_at 和 updated_at 值