
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Outlookのアカウントがあるとメ...
-
jsonテキストデータの並び替え...
-
jsで、配列内の文章を改行する...
-
タグを教えてください。
-
ラジオボタンを複数選択したと...
-
jsで質問です。 formをsubmitし...
-
2025年相性がいい人のサイトの...
-
CookieをWebStoeageに変える
-
Adobe acrobat proでフォームを...
-
jqueryのselect2で検索欄の文字...
-
<tr>指定した表の行要素をボ...
-
食材の期限を管理するためにGAS...
-
ビデオのJSについて
-
鍵盤アプリで、スマホの画面に...
-
<div>のタッチ状態を維持したま...
-
jQueryでシンセサイザーを作っ...
-
プログラミング 学習
-
HTMLでサブフレームから親のス...
-
ジャバスクリプトについて。
-
プログラムについて。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascript の export default ...
-
backbone.js テンプレートの表...
-
フレーム内の要素へのXPATHはど...
-
jQueryの多重読込
-
EUC-JPに対応しているjQueryを...
-
Folder.selectDialog()について
-
インラインフレームを自動更新...
-
JSONファイルの読み込み
-
日付が変わると自動更新
-
リンク元のファイル名を表示し...
-
XHTMLで外部JSファイルを読み込...
-
AjaxでSJISファイル読み込みす...
-
jQueryで文字数を丸めたい
-
slideToggleを複数のボタンで適...
-
jqueryを使った共通html埋め込...
-
jQuery toggle() 戻るで開いた...
-
複数の特定のURLからのみアクセ...
-
連番タイトル名を基準にリンク...
-
Win11 へのRufus と レジストリ...
-
階層別の組織図の自動作成について
おすすめ情報