LoginSignup
0
0

More than 5 years have passed since last update.

Aureliaのdocs.mdに書いてある機能を試す(2)

Posted at

引き続き、docs.md に記載の機能を試していきます。また、調べている最中に見つけたAureliaのContact Listサンプル、コミッタのMatthewさんから教えてもらったAureliaとSassを組み合わせて使う方法についても記載します。

プラグイン

Aureliaにはプラグインの仕組みがあります。といっても、installという名前の関数をexportするだけでいいので、非常に簡単に作成できます。プラグインにはカスタムエレメントやカスタム属性を含めることができるので、汎用的なコンポーネントを切り出して単独で管理するのにもってこいです。

プラグインのスケルトンがあるので、これをskeleton-navigatorに組み込んで見ましょう。単にHello, World! と表示するだけの簡単なカスタムエレメントを定義しているプラグインです。

jspmによるインストール

package.json の、 jspm.dependencies エントリに、下記を追加します。

  "jspm": {
    "dependencies": {
      //...
      "skeleton-plugin": "github:aurelia/skeleton-plugin@master"
      // ...
    }
  }

追加したら、jspm install を実行。skeleton-plugin が読み込まれます。

skeleton-pluginのindex.js では、aurelia.globalizeResources を呼び出して、<hello-world> カスタムエレメントをグローバルに見えるようにしています。これにより、どのビューでもこのカスタムエレメントを使うことができます。

index.js
export function install(aurelia){
  aurelia.globalizeResources('./hello-world');
}

このプラグインを読み込むためには、アプリケーションのエントリポイント(skeleton-navigatorでは、animation-main.js) で、pluginメソッドを呼び出す必要があります。

animator-main.js
export function configure(aurelia) {
  aurelia.use
    .standardConfiguration()
    .developmentLogging()
    .plugin('aurelia-animator-css')
    .plugin('skeleton-plugin'); // ココ

  aurelia.start().then(a => a.setRoot('app', document.body));
}

では、追加されたカスタムエレメントを使ってみましょう。試しに src/welcome.html の最下段に追加してみます。

  ...
    </section>
    <hello-world>
    </hello-world>
</template>

スクリーンショット 2015-04-22 0.03.24.png
こんな感じで動作するのがわかります。

Aureliaのサンプル : app-contacts

スクリーンショット 2015-04-22 0.08.30.png

Aureliaのサンプルというと skeleton-navigator ですが、もう一つのサンプルとしてapp-contactsというのがありました。

簡単なコンタクトリストサンプルですが、リストと詳細が同期して動作します。リストを選択した時の動きはRouterで、詳細を更新したときのリストへの反映は、EventAggregaterというキューを使って実現しています。双方向のSyncのヒントが得られるのではないでしょうか。

Using aurelia with Sass

AureliaコミッタのMatthew さんから教えて頂きました。

デフォルトではSassは使えるようにはなっていませんが、簡単に追加できるよーとのこと。詳細はBlogを読んでいただければわかりますが、簡単に紹介すると

  1. package.jsonにgulp-sassを追加してnpmでインストール
  2. gulpのビルドファイルをSassをコンパイルするように修正

です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0