私はbackbonejsとjqmを一緒に使用しようとしています。
メインページを大丈夫にレンダリングできます。このページには、ユーザーがタップできるリストがあります。選択したアイテムには、選択したリストアイテムに関する情報が記載された詳細ページが表示されます。詳細ページは、アイテムのビューオブジェクトにレンダリングされるテンプレートを備えたバックボーンビューです。
詳細のビュー.render()はhtml okを生成し、メインページのdivタグのhtmlをレンダリングされたアイテムの詳細マークアップに設定します。次のようになります。
podClicked: function (event) {
console.log("PodListItemView: got click from:" + event.target.innerHTML + " id:" + (this.model.get("id") ? this.model.get("id") : "no id assigned") + "\n\t CID:" + this.model.cid);
var detailView = new PodDetailView({ model: this.model });
detailView.render();
},
詳細ビューのレンダリングは次のようになります。
render: function () {
this.$el.html(this.template({ podId: this.model.get("podId"), isAbout_Name: this.model.get("isAbout_Name"), happenedOn: this.model.get("happenedOn") }));
var appPageHtml = $(app.el).html($(this.el));
$.mobile.changePage(""); // <-- vague stab in the dark to try to get JQM to do something. I've also tried $.mobile.changePage(appPageHtml).
console.log("PodDetailView: render");
return this;
}
Chromeの開発ツールのhtmlエディターを確認すると、詳細のビューがページに表示されていることがわかりますが、ページに表示されていません。私が見るのは空白のページだけです。
$ .mobile.changePage()を試しましたが、URLがないとエラーが発生します。
JQMにクラスタグをレンダリングされたhtmlに適用させるにはどうすればよいですか?
HTMLとテンプレートは次のようになります。
<!-- Main Page -->
<div id="lessa-app" class="meditator-image" data-role="page"></div>
<!-- The rest are templates processed through underscore -->
<script id="app-main-template" type="text/template">
<div data-role="header">
<h1>@ViewBag.Title</h1>
</div>
<!-- /header -->
<div id="main-content" data-role="content">
<div id="pod-list" data-theme="a">
<ul data-role="listview" >
</ul>
</div>
</div>
<div id="main-footer" data-role='footer'>
<div id="newPod" class="ez-icon-plus"></div>
</div>
</script>
<script id="poditem-template" type="text/template">
<span class="pod-listitem"><%= isAbout_Name %></span> <span class='pod-listitem ui-li-aside'><%= happenedOn %></span> <span class='pod-listitem ui-li-count'>5</span>
</script>
<script id="page-pod-detail-template" type="text/template">
<div data-role="header">
<h1>Pod Details</h1>
</div>
<div data-role="content">
<div id='podDetailForm'>
<fieldset data-role="fieldcontain">
<legend>PodDto</legend>
<label for="happenedOn">This was on:</label>
<input type="date" name="name" id="happenedOn" value="<%= happenedOn %>" />
</fieldset>
</div>
<button id="backToList" data-inline="false">Back to list</button>
</div>
<div data-role='footer'></div>
</script>
アドバイスを事前に感謝します...これも実行可能ですか?