Angular 2.0 笔记
透過參考 GitHub 上針對 Angular 2.0 的存儲庫,我嘗試寫下我在觀看ng-europe演講時浮現的疑問。我認為其中有些地方可能是錯誤的,而且從公開到現在可能已經有很多變化,所以這些資訊完全不可靠。
我在写这篇文章的时候注意到了 Design Docs 中有新的发布,如果阅读后可能会进行更新。
Information source – 信息来源
欧洲网格 – 相关视频
在GitHub上有一些有参考价值的项目。
考虑到以上所有项目都数个月未更新,最新的开发进展似乎没有被公开。类似于 ng-europe 上介绍的属性绑定语法等内容也没有出现,所以其他部分可能与最新版本有很多不同。
-
- angular/projects: Angular 2.0 アプリの参照実装です。
-
- angular/di.js
-
- angular/templating
- angular/router
角度/角度
Angular 2.0的开发似乎在angular/angular进行。1.x版本则是angular/angular.js。有点令人困惑…。
我看到的这里还处于实施中的阶段。没有路由器之类的东西。真的是从零开始实施的。。。
设计文档
我还没有读完… 根据最后更新日期排序,从上往下读应该是最容易理解的。
新:AtScript
-
- ES6 に型アノテーション、@ アノテーションなどを追加したもの。
-
- Traceur Compiler のオプションをいくつか有効にすれば使える。
-
- Angular 2.0 ではそれぞれ DI や directive 定義などに利用する。
- AtScript なしでも書けることは書ける?アノテーションを既存文法で書く。
控制器睡个好觉
-
- ComponentDirective という、directive の一種で代替。
-
- ComponentDirective とテンプレートが一対一という WebComponents 的な世界観?
- Router によって template とセットで設定される模様。HTML 要素名としては出てこない?(angular/projects)
DDO 不幸离世
-
- Directive 定義はただの class に。
-
- アノテーションでメタ情報を付与。
@ComponentDirective: 前述
@TemplateDirective: つけられた DOM 要素自体をテンプレートにしてしまう。ng-repeat など。
@DecoratorDirective: DOM 要素に機能を付加。ng-show, ng-style など
$作用域,安息吧
-
- $scope の prototype 継承的なものはなくなる?
-
- ComponentDirective に対応するテンプレートで使えるのは、その ComponentDirective のプロパティ・メソッドだけ。
-
- 子テンプレートでは親 ComponentDirective プロパティ・メソッドは使えない模様。子 ComponentDirective では親 ComponentDirective を DI できるので、間接的に親を参照できるので問題ないか。
-
- イベント: 親、子供を DI すれば直接通信可能なので不要?
- $watch: Object.observe() を使う?アノテーションで属性監視用関数を用意できる?
角之悼词:角模块,安逸吧。
-
- ES6 Module を使う。独自のモジュールシステムは不要とのこと。
-
- controller, service, dicrective の登録は不要に。型または @Inject で型を指定し DI される。
-
- 型で DI されるということは、class ベース。インスタンス化しない(状態を持たない)ものは、ES6 Module でただ import してそのまま使えば良い?
- 1.x の Provider によって config フェーズで設定する、みたいなのはなくなる模様。
jqLite 安息吧
- ブラウザの API を使おう。今は昔よりだいぶいい。
新:通用绑定语法
-
- ng-style, ng-click などの代わりに、DOM 要素のプロパティやイベントハンドラに直接プロパティやメソッドをバインドする。angular/projects では確認できず。
(click)=“”, [checked]=“”
属性ではなくプロパティ(JS で触る方のやつ)。
新:指令查询机制
-
- directive で親や子の directive インスタンスを DI するための仕組み?
-
- 親は一つ、子は配列で取れる。子の増減などの変更を監視できる。
- (DI で入ってくるとはいえ、インターフェイスが密結合になりそうでちょっと心配。)