RailsチュートリアルCh5 をAurelia2 で作り直す(コンポーネント作成)
やること
- RailsチュートリアルのCh5 をAurelia2 で作成する
ToDo
Ch5 のワイヤーフレームから作成するコンポーネントを分割する
各コンポーネントを作成する
ワイヤーフレームをコンポーネントに分割する
Ch5 のワイヤーフレームから作成するコンポーネントを分割する
各コンポーネントを作成する
ワイヤーフレームをコンポーネントに分割する
共通部分であるヘッダーとフッターとその他のページとに分ける。その上で下記のコンポーネントでアプリケーションを構成したい。
- shared/header
- shared/footer
- pages/home
- pages/help
- pages/login
- pages/about
- pages/content
- pages/news
makesコマンドで作成したsrcディレクトリ内にsharedディレクトリを作成し、さらにその中にheaderディレクトリ、footerディレクトリを作成する。同様にpagesディレクトリとその中に各ページ用のディレクトリを作成する。
コンポーネントの作成
各コンポーネントはそれぞれ個別の役割を負うものとする。例えばヘッダーコンポーネントであれば、ヘッダーナビゲーションをユーザーに提供する、等。
コンポーネント作成の基本
コンポーネントは、view-model を提供するためのJavaScript(TypeScript)のクラスとレンダリング対象となるHTMLで構成される。
具体的には、jsまたはtsファイルとhtmlファイルのセットが最小構成になる。例えば、home-pageを作成する場合、
home-page.ts
home-page.html
となる。これに追加で各コンポーネント用のcssファイルも追加する。この際、ファイル名がコンポーネントの名称となる。名称には必ず“-”を使用して命名する必要がある。また、tsファイルとhtmlファイルの名称は拡張子を除いて同一である必要もある。
HomePageコンポーネントの実装
/*
HomePage コンポーネントで使用するモデル
*/
export class HomePage {
}
<div class="center jumbotron">
<h1>Welcome to the Sample App</h1>
<h2>
This is the home page for the Ruby on Rails Tutorial sample application.
</h2>
</div>
必要最低限の実装はおこなった。次は、アプリケーションのルートコンポーネントで新しく作成したHomePageコンポーネントを使用したい。
アプリケーションルートコンポーネントへのインポート
最初にアプリケーションを作成されるファイルにmain.tsがある。
import Aurelia from 'aurelia';
import { MyApp } from './my-app';
Aurelia
.app(MyApp)
.start();
Aurelia は上記のコードでインポートされているmy-app.ts ファイルのクラスMyAppをアプリケーションのルート、大元のコンポーネントとして構成している。先ほど作成したHomeコンポーネントもただファイルを作成しただけではアプリケーションに組み込まれていない。作成したコンポーネントをアプリケーションに組み込む方法はいくつかあるが、今回は使用するコンポーネントのhtmlファイルに直接インポートする方法で実装する。
(別章の実装時に今みているmain.tsファイルに登録する方法に変更する。)
my-appコンポーネントへのインポート
自動生成されたmy-app.htmlのコードをすべて削除して、下記のコードに書き換える。
<import from="./pages/home/home-page"></import>
<home-page></home-page>
コンポーネントを利用するためには、利用するコンポーネントのhtmlファイルにタグを追加し、importタグ内で使用したいコンポーネントを指定する。
import from="コンポーネントの存在する相対パス/コンポーネント名称"
コンポーネントの名称は先ほど作成したファイル名となる。続いて、使用するコンポーネントのタグを記載する。
アプリケーションをサーブする
最後にnpm startコマンドでアプリケーションをローカルで起動して、先ほど作成したhomeページの記載内容がレンダリングされているか確認する。
次にやること
- 残りのコンポーネントを作成する
- 複数のコンポーネントをルータによりルーティングする
- Bootstrapによりデザインを調整する
Author And Source
この問題について(RailsチュートリアルCh5 をAurelia2 で作り直す(コンポーネント作成)), 我々は、より多くの情報をここで見つけました https://qiita.com/mock_beginner/items/fb4ce6d77f9971939840著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .