2017-08-02 46 views
0

我試圖讓JointJS的「Hello World」示例工作遺漏的類型錯誤:無法讀取的未定義的屬性「推」 - 試圖JointJS Hello World示例當

參考:https://resources.jointjs.com/tutorial/hello-world

的依賴都按正確的順序加載,但我無法解決以下異常:嘗試運行示例時出現Uncaught TypeError: Cannot read property 'push' of undefined

我意識到Backbone需要下劃線,但我在另一篇文章中讀到Backbone 1.3.3應該與Lodash兼容。當我包括下劃線時,它似乎與lodash(這是jointjs要求的)發生衝突。例如。 '_.create未定義'。

我已經嘗試了許多不同的版本無濟於事。

這裏就是我想要得到它要工作的jsfiddle。

https://jsfiddle.net/0mdg8xja/1/

什麼我做錯了,我怎麼能得到這個例外圍繞在這個場景?

+0

我知道遷移一切從下劃線lodash甚至不解決這個問題。當我仔細研究它時,我認爲JointJS需要一些定製的lodash,但我不確定。我放棄了GoJS。 –

+0

我還沒有遇到GoJS,看起來很有前途。如果我似乎無法解決這個問題,我想我可能也會去參加GoJS。謝謝。 –

+0

請贊成現場堆棧片段,比如jsfiddle等異地資源。 –

回答

1

我來仰視現有JSFiddles想法,偶然發現了這一個:

https://jsfiddle.net/robertrozas/gfaL9ype/

我比較了Hello World示例這一個,看來,我唯一缺少的是事實上,我不得不包裝的JavaScript裏面:

$(function(){ }); 

這似乎工作,無論我使用什麼版本。我在JointJS 0.9.71.1.0,主幹1.1,1.3.3和lodash 3.10.1上測試了它。

這裏是更新的JSFiddle,如果有人偶然發現了和我一樣的前額頭像。

https://jsfiddle.net/gfaL9ype/30/

+0

['$(function(){});''是'$(document).ready(function(){})的縮寫。 '](https://learn.jquery.com/using-jquery-core/document-ready/)這意味着你在嘗試獲取'$('#myholder')'它實際存在於DOM中之前。 –

+0

它因爲lodash版本。 jointjs使用_.each函數的3個參數(this),它在lodash新版本中被刪除。 – Kishorevarma

相關問題