首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用ejs写入变量?

如何使用ejs写入变量?
EN

Stack Overflow用户
提问于 2020-04-29 00:14:56
回答 2查看 70关注 0票数 0

我使用的是一个ejs模板引擎。数组存储在system.os中。需要将其写入osdata变量,以便稍后可以使用它在chart.js上构建digram。

HTML:

代码语言:javascript
复制
<%= let osdata = user.name %> // doesn't work
<canvas id="deviceChart" width="400" height="300"></canvas>

JS:

代码语言:javascript
复制
var ctx = document.getElementById('deviceChart').getContext('2d');
var myChart = new Chart(ctx, {
    type: 'pie',
    data: {
        labels: ['Red', 'Blue', 'Yellow', 'Green'],
        datasets: [{
            label: ' всего ',
            data: osdata, //osdata
            backgroundColor: [
                'rgba(255, 99, 132)',
                'rgba(54, 162, 235)',
                'rgba(255, 206, 86)',
                'rgba(75, 192, 192)',
            ],  
            borderWidth: 1
        }]
    },
    options: {
        scales: {
            yAxes: [{
                ticks: {
                    beginAtZero: true
                }
            }]
        }
    }
});
EN

回答 2

Stack Overflow用户

发布于 2020-04-29 01:09:39

这可以通过添加div元素,然后在脚本中调用它来完成,如下所示:

HTML:

代码语言:javascript
复制
<div id="osData" data-os= <%= user.name %> ></div>
<canvas id="deviceChart" width="400" height="300"></canvas>

JS:

代码语言:javascript
复制
<script>
let osData = document.getElementById('osData').dataset.os;
console.log(osData) //check your data here
</script>

在这里,您将访问值为element.dataset.keyname,而键名是包含前缀data-os

票数 1
EN

Stack Overflow用户

发布于 2020-04-29 00:20:50

如果你需要创建一个在浏览器中运行的javascript客户端可以访问的变量,你应该使用EJS在<script>标签中声明它:

代码语言:javascript
复制
<script>let osdata = <%= user.name %>;</script>
<canvas id="deviceChart" width="400" height="300"></canvas>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61484875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档