angularjs - Angular.js 和 Angular.dart 之间的区别?

标签 angularjs dart angular-dart

我对 Angular.js 了解一点,但我现在想自学 Dart 和 Angular.dart。不过,我有点好奇两者之间有什么区别。 Angular.dart 教程 specifically says it won't compare the two 。使用过两者的人是否了解它们之间的差异?

最佳答案

更新#2(2016 年 8 月) Dart 版本的 Angular 现在由 Github 上的 Dart 团队维护:dart/angular2 on github

更新:AngularDart 项目已被封存并已被 Angular2 取代。 Angular2 是 Angular 的最新版本,可在 Dart 中运行。

下面的原始答案比较了 AngularDart 和 AngularJS 1.x。

AngularDart 和 AngularJS 均由 Angular 团队维护。我们从 JS 方面获取了很多知识并将其应用到 Dart 中。我们还获取了大量代码并将其直接移植到 Dart 世界。

在技术层面,Angular 的核心:

  • 两个版本之间的表达式语言是兼容的。 AngularDart 解析器最初是从 JS 直接移植的,但一直在自行发展。一个很大的区别是 Dart 解析器支持多个后端,包括 Dart 代码生成器。

  • DI 系统不同。在 Dart 中,它是基于类的,而在 Javascript 中,它是基于符号的。

  • 编译器已在 Dart 版本中完全重写。这意味着指令的行为有所不同,现在修改 DOM 的“结构指令”、“装饰指令”和组件之间存在区别。

  • ng-transclude 已“融入浏览器”,被标准 Shadow DOM 取代。

  • 指令 Controller 已合并到组件中

  • AngularDart 中的指令是用带注释的类声明的。链接/编译函数被替换为应用函数

  • 在 AngularDart 中,作用域通过 Dart 区域自动消化,消除了作用域的需要。$apply。

  • AngularDart 有属性映射的概念,但尚未回到 AngularJS。这意味着指令应该需要更少的范围。$watches 甚至是对范围的依赖。

可能还有其他差异,但这是一个很好的入门列表。

关于angularjs - Angular.js 和 Angular.dart 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19993377/

相关文章:

angular - OnScroll 事件不起作用 - Angular Dart

javascript - Angular ng-repeat 列表值分割

google-chrome - 即使我将它编译为 js,我的 Dart 项目也不起作用。它仅适用于 dartium

generics - Dart 泛型类实例化

dart - 如何在组件外部访问AngularDart组件属性(NgOneWay),例如。在页面上?

angular - 将主机和 ComponentResolver 从 AngularDart 4 迁移到 5

javascript - Angular 模块加载

javascript - 范围错误: Maximum call stack size exceeded - Google Maps Api

angularjs - 如何使用多部分/表单数据在 Rest Angularjs 中上传文件

AndroidX 不兼容导致 Flutter Gradle 失败