嗨Stackoverflow人。
我试图在测试树枝视图中使用javascript图表。这是观点:
<h1>test</h1>
{% javascripts '@AcmeFooBundle/Resources/public/js/*' %}
<script src="{{ asset_url }}" type="text/javascript">
window.onload = function () {
var chart = new CanvasJS.Chart("chartContainer", {
title:{
text: "Fruits"
},
data: [//array of dataSeries
{ //dataSeries object
/*** Change type "column" to "bar", "area", "line" or "pie"***/
type: "column",
dataPoints: [
{ label: "banana", y: 18 },
{ label: "orange", y: 29 },
{ label: "apple", y: 40 },
{ label: "mango", y: 34 },
{ label: "grape", y: 24 }
]
}
]
});
chart.render();
}
</script>
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
<body>
<div id="chartContainer" style="height: 300px; width: 100%;">
</div>
</body>
所以问题是没有安装javascript库,因为它返回给我这个错误消息:
在编译模板期间抛出异常(“您必须将PreditBundle添加到assetic.bundle配置以使用PreditBundle中的{%javascripts%}标记:Default:test.html.twig。”)“ PreditBundle:默认值:test.html.twig”
我尝试过的事情:
- 逐步遵循“如何使用资产进行资产管理”一页 - 使用控制台命令:assets:install和assetic:dump
感谢您的回答
答案 0 :(得分:1)
您必须在config.yml中添加您的包。
assetic:
bundle: [ PreditBundle ]
答案 1 :(得分:1)
您为scr
元素定义了script
属性,而不是使用内联JavaScript代码?
做其中之一:
<script src="..."></script>
或:
<script> alert(123); </script>
另外,{% javascript %}
树枝块用于在一个步骤中渲染多个javascript资源。不适用于内联和远程javascript文件。像这样使用它:
您-template.html.twig 强>:
{% javascript '@AcmeFooBundle/Resources/public/js/*' %}
<script src="{{ asset_url }}" type="text/javascript">
{% javascript %}
<script>
window.onload = function () {
// ...
</script>
此外,您需要在config.yml中添加您的捆绑包,因为@oumlaote已经说明了。