我的问题是,当我将这段代码粘贴到我的angular项目中(在component.html部件中)时,它并没有出现。
无论如何,它作为一个单独的html文档工作得很好。
我有这段HTML代码(摘自示例):
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
window.onload = function () {
var dps = [{x: 1, y: 10}, {x: 2, y: 13}, {x: 3, y: 18}, {x: 4, y: 20}, {x: 5, y: 17},{x: 6, y: 10}, {x: 7, y: 13}, {x: 8, y: 18}, {x: 9, y: 20}, {x: 10, y: 17}]; //dataPoints.
var chart = new CanvasJS.Chart("chartContainer",{
title :{
text: "Stocks"
},
axisX: {
title: "Axis X Title"
},
axisY: {
title: "Units"
},
data: [{
type: "line",
dataPoints : dps
}]
});
chart.render();
var xVal = dps.length + 1;
var yVal = 15;
var updateInterval = 1000;
var updateChart = function () {
yVal = yVal + Math.round(5 + Math.random() *(-5-5));
dps.push({x: xVal,y: yVal});
xVal++;
if (dps.length > 10 )
{
dps.shift();
}
chart.render();
// update chart after specified time.
};
setInterval(function(){updateChart()}, updateInterval);
}
</script>
<script type="text/javascript" src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
</head>
<body>
<div id="chartContainer" style="height: 300px; width: 100%;">
</div>
</body>
</html>我创建了一个组件stocks,并使用stocks.component.html放置了以下代码。没有图形显示。但是,如果我在正文中添加文本,它显示得很好。
我在这里做错了什么?
发布于 2018-08-02 00:36:36
与组件关联的HTML只是一个HTML片段,而不是HTML页面。它不应该包含<html>或<head>标签。这是因为组件中定义的片段是插入到index.html页面中的。
为了安全起见,Angular去掉了所有<script>标签。这就是它不起作用的原因。
有关更多信息,请参阅本文:How to load script file from component html?
https://stackoverflow.com/questions/51638057
复制相似问题