我正在使用Angular2。我想实现可折叠的小组面板。为此,有许多使用JQuery的示例。但是,我想使用原始javascript来实现它。要使用JQuery,我也必须导入JQuery库,这可能会导致一些额外的加载。我认为除了小组讨论之外,未来的开发中可能还会有一些DOM操作。我想知道使用JavaScript或JQuery哪个更好。我知道他们之间需要权衡。在性能方面,建议采用哪种方式。推荐同时使用Angular2和JQuery吗?请给我一些建议。
Angular预计将控制DOM,并且它的页面和数据交互方式与jQuery的混合效果很差(在jQuery中,您倾向于直接进行很多DOM修改,而在Angular中,DOM几乎是一个副作用。范围数据的表示形式;在Angular的预期路径之外对DOM进行的修改可能会在下一个摘要中被吹走,或者会覆盖或破坏Angular依赖的绑定。)
只要您小心翼翼地避免干扰Angular生命周期,就可以通过jQuery分别操纵DOM ,但是除非您对Angular的DOM生命周期以及什么是不安全的有非常深入的了解,否则它很容易出错。改变。几乎没有必要;使用Angular自己的工具几乎总是更好。
(还请注意,Angular包含jqLite;在很多时候,您要查找的jQuery函数已经可用,而无需安装完整的库。)
(如果必须使用jQuery,则将其保留在特定Components的afterViewInit
功能之内,切勿尝试从另一个组件中修改一个组件的结果。)