![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
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ランキング
-
読み込んだQRコードをフォーム...
-
セレクトを全て選択されていな...
-
switch文のswitch(n)の部分を複...
-
セレクトボックスを2つ選択して...
-
jQueryで同じクラス名のものを...
-
①入力フォーム→②確認表示画面→③...
-
jQueryでシンセサイザーを作っ...
-
IndexedDB を使ってファイルア...
-
スマホ上で、左右スワイプで次...
-
GASに文字列として関数を入れる...
-
フォームが空欄の時にフォーム...
-
二次元配列の全要素の全要素を...
-
【GAS】WEBアプリでハイパーリ...
-
画像の表示位置
-
【Google Apps Script】「ライ...
-
変数宣言と初期値代入の場所に...
-
プログラミング 学習
-
HTMLでサブフレームから親のス...
-
ジャバスクリプトについて。
-
プログラムについて。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jQueryで追加した要素がマウス...
-
一定時間ごとに表示内容を切り...
-
jQueryでloadした部分に.jsが効...
-
フレーム内の要素へのXPATHはど...
-
Safariでの onload="getData()"...
-
毎日午前0時にhtmlを切り替えた...
-
google map api で下記のhtmlが...
-
テーブルの形式を整えるJavascript
-
JavaScriptで擬似フレーム、読...
-
javaの変数又はデータの共有
-
jQuery toggle() 戻るで開いた...
-
自動で現れるTOPにもどるボタン...
-
Folder.selectDialog()について
-
div要素の入れ替え。半透明イメ...
-
複数の特定のURLからのみアクセ...
-
Fire Foxで作動しないscriptが...
-
jqueryを使った共通html埋め込...
-
XHTMLで外部JSファイルを読み込...
-
onblurイベント時にPHPファイル...
-
inputの中身を書き換える方法に...
おすすめ情報