jQuery Mobile:列表视图刷新错误

问题描述:

我见过很多人遇到这个问题,但由于某种原因,我无法找到可行的解决方案。jQuery Mobile:列表视图刷新错误

我得到这个错误:

Uncaught Error: cannot call methods on listview prior to initialization; attempted to call method 'refresh' 

这里发生了什么故障。

我结合本次活动:

$('#person').bind('pagebeforeshow', function(e, data){ 
    Person.getPersonData(); 
}); 

在getPersonData()方法中,我使用下划线_.after功能来呈现模板,并刷新3名列表视图,我所有的Ajax调用后就一直制作。我正在使用Knockout.js来应用一些数据绑定。

var tmplMarkup = $('#tmpl-person').html(); 
var compiledTmpl = _.template(tmplMarkup, {data: Person.data}); 
$('#person-wrapper').html(compiledTmpl); 
$('#person-info-wrapper').listview('refresh'); 
$('#person-related-wrapper').listview('refresh'); 
$('#person-groups-wrapper').listview('refresh'); 
$('#person-notes-wrapper').listview('refresh'); 
ko.applyBindings(Person.data, document.getElementById('person-notes-form')); 

我不知道我在做什么错在这里。我已经尝试绑定到不同的页面加载事件,并没有运气。我甚至尝试过使用setTimeOut在ajax调用后几秒钟刷新列表视图,但这也没有帮助。

在此先感谢。

这个问题很容易解决。

使用此:

$('#listview-id').listview().listview('refresh'); 

#listview-id是您的列表视图ID(或其他任何参考),第一listview()将初始化,第二个将刷新。

如果你想找到更多关于这个问题,你可以在这里找到它ARTICLE,说实话这是我的个人博客文章。或找到它HERE。查找名为章:标记增强问题

+1

有趣。非常感谢! – 2013-03-06 19:46:22

+0

@Gajotres你的博客文章现在无法访问。 – netalex 2013-06-27 08:11:33

+0

@netalex tnx的信息,我的VPS正在维护中。它将在白天提供。 – Gajotres 2013-06-27 10:32:56

尝试如下

$('#person-info-wrapper ul').listview(); 
$('#person-related-wrapper ul').listview(); 
$('#person-groups-wrapper ul').listview(); 
$('#person-notes-wrapper ul').listview(); 
+1

谢谢,这对我有用 – Arian 2013-07-16 22:01:32