2017-08-02 43 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

相关问题