Aurelia日本語ドキュメントの更新について記載します。8/4 現在、pull request中でまだ更新されていない内容も含まれるため、本エントリの内容についてはfork先を確認してください。
Aurelia自身の機能は安定していると言われた5月の宣言通り、ドキュメントの更新はほぼ記載ミスの修正や、サンプルの細かい更新で、追加機能は2つでした。(単にドキュメントに載っていない機能や使い方も多く存在し、コミュニティからの貢献が歓迎されています)
進行中の翻訳
ポルトガル語の翻訳が追加されました。現在6ヶ国語に翻訳されています。更に、近々ドキュメント構成の大幅な変更もあるという話で、戦々恐々です。
テンプレートパート: 1402行目
カスタムエレメントは固有のビューを持ちますが、ビューモデルやそれが含むロジックは同じなんだけど、ビューが若干異なりそのままでは使えない、というケースはよくあります。同じリストなんだけど、画面によって表示項目が異なったりするケースですね。
このような状況に対応するため、カスタムエレメントのテンプレートの一部を利用時に置換可能とすることができます。
カスタムエレメント側のビュー定義で、置き換えたい箇所をtemplateタグと、part
属性で指定します。
<template>
<ul>
<li class="foo" repeat.for="item of items">
<template replaceable part="item-template">
Original: ${item}
</template>
</li>
<ul>
</template>
利用時は、カスタムエレメントのコンテンツに、置き換える内容をtemplateタグと、replace-part
タグで指定します。
<template>
<require from="./demo"></require>
<demo>
<template replace-part="item-template">
Replacement: ${item} ${$parent.$parent.fullName} <button click.delegate="$parent.$parent.welcome()">Test</button>
</template>
</demo>
</template>
demo
が上で定義したカスタムタグです。
インターセプター: 1660行目
HTTPClientでは、リクエストとレスポンスにそれぞれフックを指定することが可能です。これをインターセプターと呼んでいます。共通処理を行ったり、ログ出力したりといった目的ですかね?
インターセプターは複数指定可能で、指定された順番にチェインして実行されます。
コード例は http://aurelia.io/docs.html#interceptors を見て下さい。