gpt4 book ai didi

listview - ListView css不呈现jquery mobile

转载 作者:行者123 更新时间:2023-12-04 18:18:55 25 4
gpt4 key购买 nike

我正在使用jquery mobile、phone gap 和backbone.js 制作一个应用程序。在此我动态创建页面并将其附加到 html 页面的正文元素。我还在为特定页面动态创建 ListView 。然而, ListView 只显示 li 标签的普通链接。我的 View 的代码如下

directory.views.UserListPage = Backbone.View.extend({

initialize: function() {
this.template = _.template(directory.utils.templateLoader.get('user-list-page'));
},

events:{ "click .add-button": "addButton_clicked"
},
render: function(eventName) {
$(this.el).html(this.template(this.model.toJSON()));
this.listView = new directory.views.UserListView({el: $('ul', this.el),model: this.model});
this.listView.render();

$content = $(this.el).children(":jqmData(role=content)");
$(this.el).appendTo($("body")).page();

$content.find(":jqmData(role=listview)" ).listview();
return this;
},

addButton_clicked: function(event) {
console.log("clicked");
event.preventDefault();
directory.app.navigate("addUser", {trigger: true});
}});

directory.views.UserListView = Backbone.View.extend({


initialize: function() {
this.model.bind("reset", this.render, this);
},

render: function(eventName) {
$(this.el).empty();
_.each(this.model.models, function(user) {
$(this.el).append(new directory.views.UserListItemView({model: user}).render().el);
}, this);
return this;
}});

directory.views.UserListItemView = Backbone.View.extend({

tagName: "li",

events:
{
"click" : "borrowHistory"
}
,
initialize: function() {
this.template = _.template(directory.utils.templateLoader.get('user-list-item'));
},

render: function(eventName) {
$(this.el).html(this.template(this.model.toJSON()));
return this;
} ,
borrowHistory: function(event) {



var children = $(event.currentTarget).children();
var attribute = children[0].dataset.id;
var url = "#/rs/" + attribute + "/borrowHistory";

directory.app.navigate(url, {trigger: true});
return false;
}});

我的模板看起来像这样
<div data-role="header" data-theme="e">
<a href="#addUser" data-role="button" data-icon="plus" >Add</a>
<h1>Borrow Mate</h1>

</div>
<div id="listUser" data-role="content" >
<div id="listcontent">
<ul id="userList" data-role="listview" data-inset="true" data-theme="e" data-divider-theme="e" data-count-theme="e"> </ul>
</div>
</div>

用户列表项
<div class="userListItem" data-id = "<%= id %>" >
<b><%= Name %></b>
<span class="ui-li-count"><%= Credits %></span>
</div>

Added a screenshot of my output

最佳答案

您需要刷新 ListView

  • http://jquerymobile.com/demos/1.1.0/docs/lists/lists-methods.html

  • 因此,在您附加需要刷新的列表项之后,就像这样
    $('#userList').listview('refresh');

    使用您提供的模板的 id 属性
    <ul id="userList" data-role="listview" data-inset="true" data-theme="e" data-divider-theme="e" data-count-theme="e">
    </ul>

    关于listview - ListView css不呈现jquery mobile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11118017/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com