0

我已经添加

<script language="javascript" type="text/javascript" src="../js/Chart.bundle.js"></script>  

在 aura:application 文件中,文件由浏览器下载(可以通过控制台看到)但是当我尝试在渲染器的 afterRender 函数中创建图表对象时

var myChart = new Chart(ctx, { .....

我有一个错误:

出了点问题。afterRender 在“markup://helloWorld:helloWorld”中抛出错误 [afterRender 在“markup://c:ltGraph”中抛出错误 [ ReferenceError: Chart is not defined ]] 失败描述符:{markup://helloWorld:helloWorld}新错误(http://localhost:8080/auraFW/javascript/lG7eYFZ_MXfCccXumk95LQ/aura_dev.js:3152:23)在http://localhost:8080/auraFW/javascript/lG7eYFZ_MXfCccXumk95LQ/aura_dev.js:1:1。请再试一次。

如何在 Aura 中使用外部库?

4

1 回答 1

0

我发现了问题。我的代码想在加载之前使用库。我必须在我的 js 代码(渲染器)中进行一些检查

var timesToCheck = 10;
var poll = function () {
    setTimeout(function () {
        timesToCheck--;
        if (typeof Chart !== 'undefined') {

            // now you can use Chart (or other) library.....

        } else if (timesToCheck > 0) {
            poll();
        } else {
            console.log('giving up')
        }
    }, 100);
};
poll();

(代码取自https://developer.salesforce.com/forums/?id=906F0000000Amaz

但是,我仍然在加载 2 个依赖库(如 jQuery 和 Flot)时遇到问题。在 Flot 初始化期间,经常会出现 jQuery 未定义的错误.....

于 2016-07-12T14:54:04.790 回答