Emer.js入門ガイド-handlebars遍歴ラベル
2466 ワード
このシリーズの記事はすべて(http://ibeginner.sinaapp.com/)を移転して、元のサイトへようこそ.
前の文章と同じ方法で ember generate route handlebars-each コマンドは、ルーティングファイルと対応するテンプレートファイルを作成します.
この記事では、ループラベルを紹介します.配列のループは、ほとんどの一般的な開発言語で見られ、非常に広範な機能を使用しています.以下では、EL式とほぼ同じ使い方をしているhandlebarsの遍歴ラベルを紹介します.一度見てみればきっとわかると思いますが...くだらないことは言わないで、次は直接プレゼンテーションコードに行きましょう!!
上記のようにrouteにはテスト用のオブジェクト配列が構築され,各オブジェクトに2つの属性(name,age)がある.
次に、データを表示するtemplateを示します.
似たような感じはありませんか!!EL式のforEachラベルとほぼ同じです.意外なことに、次のような結果が見られるはずです.
注意:この時点で実行されているURLは、新しく作成したばかりのrouteであることを覚えておいてください.
配列を操作するときは、公式に推奨されている方法(pushではなくpushObjectを追加するなど)を使用することに注意してください.前の記事を参照してください.
1、アクセス配列の下付き
配列の下付き文字を取得する必要がある場合があります.たとえば、データのシーケンス番号として下付き文字を取得する場合があります.次のプレゼンテーションを参照してください.
しかし、この下のマークは0から始まり、jstlのforEachラベルはこのように{{index+1}}書くことができるとは考えられません.handlebarsはこのように書くことはできません.似たような解決策があるかどうかはまだ分かりませんが...
2,空配列処理
eachタグ内では{{else}}も使用でき、配列が空の場合にelseコードブロックが実行されます.
効果をテストするには、app/routes/handlebars.jsのreturn文を「return[]」に変更します.このときテンプレートに戻ったのは空の配列で、結果も予想通りで、ページには「Sorry,nobody is here.」が表示されます.
上記の内容はhandlebarsのeach遍歴使用例である.難しくないはずなのに・・・
前の文章と同じ方法で ember generate route handlebars-each コマンドは、ルーティングファイルと対応するテンプレートファイルを作成します.
この記事では、ループラベルを紹介します.配列のループは、ほとんどの一般的な開発言語で見られ、非常に広範な機能を使用しています.以下では、EL式とほぼ同じ使い方をしているhandlebarsの遍歴ラベルを紹介します.一度見てみればきっとわかると思いますが...くだらないことは言わないで、次は直接プレゼンテーションコードに行きましょう!!
// app/routes/handlebars.js
import Ember from 'ember';
/**
*
*/
export default Ember.Route.extend({
// model ,
model: function() {
return [
Ember.Object.create({ name: 'chen', age: 25}),
Ember.Object.create({ name: 'i2cao.xyz', age: 0.2}),
Ember.Object.create({ name: 'ibeginner.sinaapp.com', age: 1}),
Ember.Object.create({ name: 'ubuntuvim.xyz', age: 3})
];
}
});
上記のようにrouteにはテスト用のオブジェクト配列が構築され,各オブジェクトに2つの属性(name,age)がある.
次に、データを表示するtemplateを示します.
<!-- // app/templates/handlebars.hbs -->
{{! route }}
<ul>
{{#each model as |item|}}
<li>Hello everyone, My name is {{item.name}} and {{item.age}} year old.</li>
{{/each}}
</ul>
似たような感じはありませんか!!EL式のforEachラベルとほぼ同じです.意外なことに、次のような結果が見られるはずです.
注意:この時点で実行されているURLは、新しく作成したばかりのrouteであることを覚えておいてください.
配列を操作するときは、公式に推奨されている方法(pushではなくpushObjectを追加するなど)を使用することに注意してください.前の記事を参照してください.
1、アクセス配列の下付き
配列の下付き文字を取得する必要がある場合があります.たとえば、データのシーケンス番号として下付き文字を取得する場合があります.次のプレゼンテーションを参照してください.
<!-- // app/templates/handlebars.hbs -->
{{! route }}
<ul
{{#each model as |item index|}}
<li>{{index}} Hello everyone, My name is {{item.name}} and {{item.age}} year old.</li>
{{/each}}
</ul>
しかし、この下のマークは0から始まり、jstlのforEachラベルはこのように{{index+1}}書くことができるとは考えられません.handlebarsはこのように書くことはできません.似たような解決策があるかどうかはまだ分かりませんが...
2,空配列処理
eachタグ内では{{else}}も使用でき、配列が空の場合にelseコードブロックが実行されます.
{{! , route model , else }}
{{#each model as |item|}}
Hello, {{item.name}}
{{else}}
Sorry, nobody is here.
{{/each}}
効果をテストするには、app/routes/handlebars.jsのreturn文を「return[]」に変更します.このときテンプレートに戻ったのは空の配列で、結果も予想通りで、ページには「Sorry,nobody is here.」が表示されます.
上記の内容はhandlebarsのeach遍歴使用例である.難しくないはずなのに・・・