我对 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/