backbone.js テンプレートの表示方法教えて !
分かる方よろしくお願いします。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://code.jquery.com/jquery-2.2.2.js" integrity="sha256-4/
zUCqiq0kqxhZIyp4G0Gk+AOtCJsY1TA00k5ClsZYE=" crossorigin="anonymous">
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/
underscore.js/1.8.3/underscore.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/
backbone.js/1.3.2/backbone.js"></script>
</head>
<body>
<script type="text/template" id="user-template">
エリア <%- area %> <%- name %> <%- age %> 才
</script>
<script>
const Person = Backbone.Model.extend({
defaults: { area: "東京都" }
});
const Users = Backbone.Collection.extend({ model: Person });
const users = new Users();
//データ追加
users.add({ name: "次郎", age: 28 });
users.add({ name: "花子", age: 25 });
// 要素の作成
const span_view = Backbone.View.extend({
tagName: "span",
template: _.template($("#user-template").html()),
render: function() {
// コレクションのデータをテンプレートに反映
const tpl = this.template(this.model.toJSON());
this.$el.html(tpl);
return this;
}
});
const span = new span_view({ collection: users });
// 要素を画面に描画
$("body").html(span.render().el);
</script>
</body>
</html>
No.1ベストアンサー
- 回答日時:
こんにちは
backboneはまったく存じませんけれど、連呼なさっているようなので・・・
値を調べてみると、render に渡されている this値 は collection のラッパーのようなので、複数を処理する記述にしておかないとうまくいかないのではないでしょうか。
また、template に渡すのはJSONではなく、オブジェクトそのもののように思われます。
ということで、
//const tpl = this.template(this.model.toJSON());
const tpl = this.collection.map( v => this.template(v.attributes) ).join('<br />');
に変えてみると、一応、表示はできます。
(span 要素内なので、改行を追加してあります。)
多分、なさりたい結果とは違うような気がしますし、backbone の正しい使い方(=記述方法)なのかどうかも怪しいですけれど、「表示方法教えて!」というご質問なので、とりあえずのご参考までに。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaScriptで擬似フレーム、読...
-
$.postとPerlのデータ受け渡し...
-
div要素に枠線を指定とページに...
-
環境:WinXP+IE7+jquery1.4.2
-
フレーム内の要素へのXPATHはど...
-
jQueryを使いformでsubmitした...
-
階層別の組織図の自動作成について
-
カンマ区切りのデータを配列に...
-
スライドを最後の画像で止めたい
-
読み込み開始から読み込み終了...
-
jQuery を外部ファイルから呼び...
-
SQLのmaxで求めた値を変数に代...
-
ローカルでのonreadystatechang...
-
CSSプルダウンメニューとjQuery...
-
Ajax データが取得できない
-
JQueryでのloadの動作がFirefox...
-
bxsliderで画像毎に表示時間を...
-
jquery.validationEngine.js 添...
-
リスニング問題のプログラミン...
-
ドラッグ & ドロップでのド...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
インラインフレームを自動更新...
-
jQueryでloadした部分に.jsが効...
-
一定時間ごとに表示内容を切り...
-
location.replaceでの移動
-
jQueryで追加した要素がマウス...
-
jQuery toggle() 戻るで開いた...
-
連番タイトル名を基準にリンク...
-
フレーム内の要素へのXPATHはど...
-
リンク元のファイル名を表示し...
-
EUC-JPに対応しているjQueryを...
-
javascriptで要素の取得が出来ない
-
リンク元のURLのパラメータでペ...
-
自動で現れるTOPにもどるボタン...
-
テーブルの形式を整えるJavascript
-
javascriptからのphpクラス...
-
画面(ウィンドウ)/画像の拡...
-
Safariでの onload="getData()"...
-
$.postとPerlのデータ受け渡し...
-
タブに地図を入れたら、中心が...
-
座標のみでクリックする方法
おすすめ情報