Angular 2和Dart有什么区别?
我读过你可以和dart一起使用AngularJS.那是什么意思?它们不是JavaScript的替代品吗?
Gün*_*uer 15
更新(2018/01)
虽然模板语法仍然非常相似,但是其他的东西,比如配置DI和注册组件以及生命周期回调,在Angular的Dart和TS版本之间越来越多,因为这两个版本在2016年5月被拆分为独立开发.
原版的
TypeScript是JavaScript的超集,它只允许以更"理智"的方式使用JS.
Dart凭借自己的语言语义远离JavaScript.Dart可以翻译成JS.
哪种支持的语言适合您,主要取决于您的要求或个人偏好(或您的管理人员).
[prop]="value"`
[attr.attrName]="value"
prop="{{value}}"`
attr.attrName="{{value}}"
(event)="..."
<div *ngFor="...">
Run Code Online (Sandbox Code Playgroud)
想到的一个区别是TS/JS版本得到了<ng-container>Dart中尚未提供的版本.
@ContentChildren()表现有点不同.
[ngClass]="{cName: value}
Run Code Online (Sandbox Code Playgroud)
如果cName不是当前范围内的已知标识符,将导致Dart中的错误,而在JS/TS cName中将仅使用字面意思.
[attr.someAttr]="someProp ?? true" // Dart only
Run Code Online (Sandbox Code Playgroud)
Angular2 Dart没有NgModule主要用于路由器的延迟加载.Dart有它自己的懒加载故事,不需要NgModule
TS/JS支持不同的平台,如服务器端渲染,WebWorker.Angular2 Dart目前不提供这些.
正在进行的工作是使Darts自己的HTML抽象dart:html与服务器端代码兼容,这可能允许服务器端渲染.WebWorkers最终可能也会以与TS/JS不同的方式支持.
对于Dart,没有动态平台.在JS/TS中,它支持在运行时编译组件.这在Dart中不受支持,它可能永远不会.
Dart似乎在AoT上做得更好,因为输出大小和性能会出现树木抖动(不完全确定 - 需要基准测试)
Dart有它自己的构建故事,这部分与JS/TS完全不同.
Darts DOM抽象层dart:html包含很多抽象,适用于JS/TS需要polyfill的不同浏览器.
| 归档时间: |
|
| 查看次数: |
3177 次 |
| 最近记录: |