簡體   English   中英

Uncaught ReferenceError:未定義圖表,或如何在Twig中包含javascript

[英]Uncaught ReferenceError: Chart is not defined OR how to include javascript in Twig

在我的Symfony項目中,我嘗試使用Chartjs.org的javascript。

我將chart.js文件放在所有其他javascript文件所在的位置,並在javascript.html中包含了該文件,以便在整個項目中都可以使用它。

<script src="assets/js/chart.js"></script>

在我的樹枝模板中,我嘗試實例化Chart,如下所示:

<canvas id="myChart" width="400" height="400"></canvas>

<script>
    var ctx = document.getElementById("myChart").getContext("2d");
    var myNewChart = new Chart(ctx);
</script>

這將引發錯誤:未捕獲的ReferenceError:圖表未定義

我想念什么?

答案:

{% javascripts '@AcmeFooBundle/Resources/public/js/*' %}
    <script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}

更多詳細信息: http : //symfony.com/doc/2.1/cookbook/assetic/asset_management.html

至於將腳本放在哪里的問題,也許可以解決:

<script src="{{ asset('js/propuestas_public.js') }}" type="text/javascript"></script>

http://symfony.com/doc/2.0/book/templating.html#linking-to-assets

資產功能的主要目的是使您的應用程序更具可移植性。 如果您的應用程序位於主機的根目錄下(例如http://example.com ),則呈現的路徑應為/images/logo.png。 但是,如果您的應用程序位於子目錄(例如, http : //example.com/my_app )中,則每個資產路徑都應使用子目錄(例如,/ my_app / images / logo.png)呈現。 資產功能通過確定如何使用您的應用程序並相應地生成正確的路徑來解決此問題。

另外,如果使用資產功能,Symfony可以自動將查詢字符串追加到資產,以確保部署時不會緩存更新的靜態資產。 例如,/ images / logo.png可能看起來像/images/logo.png?v2。 有關更多信息,請參閱assets_version配置選項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM