【问题标题】:Why is it not recommended to use Javascript code in angularJS applications? [closed]为什么不建议在 angularJS 应用程序中使用 Javascript 代码? [关闭]
【发布时间】:2014-12-03 23:43:45
【问题描述】:

当我编写一个使用 AngularJS 的应用程序时,我可以使用 jQuery 等其他库来添加事件侦听器和更改 DOM 元素吗?

还是因为angular的双向绑定不建议混合使用这两个库?

编辑:我知道 Angular 用户 jquery,但是 Angular 关于 DOM 的逻辑并不完全相似,这让我很困惑。

【问题讨论】:

  • 这取决于您在做什么以及如何混合它们。你需要使用 js 来编写应用程序逻辑,但你应该远离操纵 DOM 的视图部分。主要问题是通过用普通的 jane 替换按摩元素来打破 2 路数据绑定。
  • angularjs 本身就是一个 javascript,这到底是什么信息?
  • @dandavis 是的,这就是我想知道的。谢谢

标签: javascript jquery angularjs


【解决方案1】:

AngularJS 是用 Javascript 编写的。您编写的任何常规 javascript 都很好/鼓励。 Angular 还内置了一个名为 JQLite 的 jquery 变体,如果您想使用它,请对其进行一些搜索。您也可以只在 jquery 上包含 full ,但不鼓励这样做,因为它是矫枉过正的。

【讨论】:

  • 大量常规 javascript 并不好;忽略 DI,依赖闭包/全局变量,直接操作 dom,在没有参数数组的情况下缩小 DI 函数,等等......
  • angular 施加了“任何常规 javascript”不需要遵守的限制,我觉得值得一提。
【解决方案2】:

不确定你从哪里得到这些信息,但 AngularJS 使用 jQLite,它是 jQuery 的一个子集。在FAQ 中,他们提到了如何使用 jQuery 库。

Angular 是否使用 jQuery 库?

是的,当应用程序被引导时,Angular 可以使用 jQuery,如果它存在于您的应用程序中。 如果 jQuery 不在您的脚本路径中,Angular 会退回到 它自己实现了我们称为 jQLite 的 jQuery 子集。

Angular 1.3 仅支持 jQuery 2.1 或更高版本。 jQuery 1.7 和更新版本 可能与 Angular 一起正常工作,但我们不保证这一点。

您可能不想将其他库与库一起使用的原因确实是如果您不想拥有额外的依赖项,但只要您在团队和应用程序中有效地使用库,我认为没有为什么会这样。

【讨论】:

  • @dandavis 他的引文清楚地说明了这一点。
  • @ShanRobertson:我指的是声称“AngularJS 使用 jQuery”的第一部分
  • @dandavis 我的错。公平地说,他们的常见问题解答有一个问题“Angular 是否使用 jQuery 库?”他们以 Yes 开始他们的回答,这就是我可能滑倒的原因:P。你是对的,我更新了我的答案。
【解决方案3】:

听起来有人告诉你在使用 Angular.js 时不要使用任何其他库,因为库之间可能存在冲突。如果是这样,那么他们就错了 - 开发人员通常将其他库与 Angular 一起使用,尽管在选择一组库一起使用时,看看人们过去是如何使用它们的。

【讨论】:

  • 我从社区听到了很多“全力以赴”的建议。这意味着从较小的“应用商店”中挑选插件,至少现在是这样
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-11
  • 2011-03-20
  • 2011-01-20
  • 2013-09-11
  • 1970-01-01
  • 2015-10-12
相关资源
最近更新 更多