2016-07-12 40 views
0

我已經添加如何在Aura上使用外部js庫?

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

在光環:應用程序文件,文件是由瀏覽器下載(可以看到直通控制檯) 但是當我嘗試在一個AfterRender函數來創建圖表對象在渲染

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

我得到了一個錯誤:

Something has gone wrong. afterRender threw an error in 'markup://helloWorld:helloWorld' [afterRender threw an error in 'markup://c:ltGraph' [ReferenceError: Chart is not defined]] Failing descriptor: {markup://helloWorld:helloWorld} Error at new (http://localhost:8080/auraFW/javascript/lG7eYFZ_MXfCccXumk95LQ/aura_dev.js:3152:23) at http://localhost:8080/auraFW/javascript/lG7eYFZ_MXfCccXumk95LQ/aura_dev.js:1:1 . Please try again.

如何使用外部庫的靈氣?

回答

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初始化過程中,經常出現jQuery未定義的錯誤.....

+0

您使用的是什麼版本的Jquery。如果它的3.x那麼我會建議使用2.2.4的JQuery作爲3.x似乎有問題從夏季16版本的更衣室服務關鍵更新。 – Sumuga

+0

問題是在圖書館實際加載之前試圖使用jQuery/Flot – razor

+0

你能告訴我你試圖加載Jquery時收到的錯誤信息是什麼。 – Sumuga