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ランキング
-
ボタンを押したあとに画像を表...
-
スマホ上で、左右スワイプで次...
-
ラジオボタンを複数選択したと...
-
jsonテキストデータの並び替え...
-
Adobe acrobat proでフォームを...
-
画面に表示したらアニメーショ...
-
2025年相性がいい人のサイトの...
-
jQueryでのレスポンシブが綺麗...
-
jsで質問です。 formをsubmitし...
-
二次元配列を使って順位をだす...
-
【JS】selectでchangeした時の...
-
sessionStorageを調べています。
-
jsで質問です。 ボタンが二つ存...
-
ブックマークレットについて
-
タグを教えてください。
-
CookieをWebStoeageに変える
-
Outlookのアカウントがあるとメ...
-
jqueryのselect2で検索欄の文字...
-
<tr>指定した表の行要素をボ...
-
食材の期限を管理するためにGAS...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
インラインフレームを自動更新...
-
外部からファイルを読み込んだ...
-
location.replaceでの移動
-
毎日午前0時にhtmlを切り替えた...
-
slideToggleを複数のボタンで適...
-
javascriptからのphpクラス...
-
リンク元のURLのパラメータでペ...
-
JQueryで動的生成のスライダが...
-
javaの変数又はデータの共有
-
jQueryでloadした部分に.jsが効...
-
jQuery toggle() 戻るで開いた...
-
HTMLDivElement等の比較、評価...
-
jQueryを使用してxmlを取得 ie...
-
phpやjavascriptやhtmlを使って...
-
facebookいいねボタン設置文字...
-
google翻訳ツール設置
-
リンク元のファイル名を表示し...
-
複数の特定のURLからのみアクセ...
-
2つのinframeをまたいだJavaSc...
-
XMLHttpRequest()で、読み込む...
おすすめ情報

