如何一起使用Angular2 + JQuery?

时间:2017-01-24 17:02:23

标签: jquery performance angular

我正在使用Angular2。我想实现组面板可折叠。对它来说,有很多使用JQuery的例子。但是,我想用原始的javascript实现它。要使用JQuery,我还必须导入JQuery库,这可能会导致一些额外的加载。我认为除了组小组之外,我未来的开发中可能还会有一些DOM操作。我想知道使用javascript或JQuery哪个更好。我知道他们之间有一些权衡。在性能方面,建议使用哪种方式。一起使用Angular2和JQuery是推荐的方法吗?请给我一些建议。

1 个答案:

答案 0 :(得分:4)

Angular希望控制DOM,它的页面和数据交互方式与jQuery混合的理念很糟糕(在jQuery中你倾向于进行大量的直接DOM修改,而在Angular中,DOM几乎是范围数据的副作用表示;在Angular的预期路径之外对DOM进行的修改可能会在下一个摘要中被吹走,或者可能会覆盖或破坏Angular所依赖的绑定。)

通过jQuery单独操作DOM是可能的,只要你非常小心不要干扰Angular生命周期 - 但除非你非常了解Angular的DOM,否则它非常容易出错。生命周期以及改变的安全性和安全性。这很少是必要的;使用Angular自己的工具几乎总是更好。

(另请注意,Angular包含jqLit​​e;大多数情况下,您正在寻找的jQuery函数已经可用而无需安装完整的库。)

(如果您必须使用jQuery,请将其保留在特定组件的System.TypeInitializationException: The type initializer for 'log4net.GlobalContext' threw an exception. ---> System.TypeInitializationException: The type initializer for 'log4net.Util.SystemInfo' threw an exception. ---> System.MissingMethodException: Method 'System.Configuration.ConfigurationManager.get_AppSettings' not found. at log4net.Util.SystemInfo..cctor () [0x00031] in <dc05a9e165e94f46b41075fe5d8bfb59>:0 --- End of inner exception stack trace --- at log4net.GlobalContext..cctor () [0x00010] in <dc05a9e165e94f46b41075fe5d8bfb59>:0 函数中,并且不要尝试从其他组件中修改一个组件的结果。)