我想用Jquery开发带有d3JS库的图表。但是我看到了一些关于在Angular中使用d3JS的文章/帖子。我也熟悉Angular编码。与使用d3JS相比,第一次看它对我来说似乎很复杂。 jQuery。那么选择其中一种方法有什么好处呢。哪种方法适合在哪种情况下选择。
感谢您的帮助。
答案 0 :(得分:2)
Angular的d3.js实现提供了指令和您想要的预期绑定。有关更全面的讨论,请参阅此文章...... http://www.ng-newsletter.com/posts/d3-on-angular.html
jQuery提供了使用事件等与图表库集成的常规方法 - 在角度中你可以改为使用手表,例如
希望这提供了初步见解
答案 1 :(得分:2)
你的问题非常主观。但我会尽力回答。
AngularJs是一个流行的客户端MVC库。它以指令的形式为D3.js提供了一些非常好的绑定。然而,既然你似乎是新的,你应该知道AngularJS有一个相当不错的学习曲线。此外,AngularJS团队一直忙于开发AngularJS 2.0。这个版本不是一个复杂的主要更新,而是整个框架的重写,并将包括重大变化!然而,Angular js拥有强大的社区,并且应该在不久的将来提供支持。框架有自己的优点和缺点。
我建议如果你的项目是一个复杂的单页应用程序,有很多输入参数可能会改变视图(渲染的html),那么你肯定应该去像AngularJs这样的客户端框架。您还可以探索其他框架,如ReactJs,以构建您的UI。 ReactJs相对较新,但在社区中获得了很多支持。
如果您决定不使用框架,请查看c3.js,它是基于d3.js的图表库。如果您想使用简单的图表进行数据可视化,C3.js将使您的工作更轻松。
最后,使用或不使用框架的选择在很大程度上取决于您的用例。
答案 2 :(得分:1)
我不知道它是否有用:我们正在使用一个名为sigma.js的非常复杂的库以及jquery和angular。并且当仅处理在sigma库中定义的事件,并且不一定基于用户输入在DOM中改变数据时,与通过外科手术和有效地与DOM交互的jquery相比,角度不是必需的。但是当DOM中有相当多的数据要处理时,刷新更新,angular会整齐地存储模型数据。我们的规则是:来自sigma库的事件是否没有数据模型变化? ==> jQuery的。最后一点是,有时指令的顺序与它们在页面中实际加载的顺序不对应,这在初始化时产生了一些问题,即查找实际上尚未加载的DOM ...