1
我剛剛升級到Meteor 0.8,並注意到我的listview刷新不再有效,這意味着我看到數據但jQuery-Mobile樣式沒有被應用。我使用的是1.4.2,這使用能正常工作與流星的0.7.2:流星0.8升級影響jQueryMobile ListView刷新
Template.requests.rendered = function(){
if ($('[data-role="listview"]')) {
$('[data-role="listview"]').listview().listview("refresh");
}
}
有其他人看到這種行爲和修復知道?
這是我的模板是什麼樣子:
<template name="requests">
<div id="listview-content">
<ul data-role="listview" data-autodividers="false" data-filter="true" data-inset="true">
{{#each items}}
<li><a href="#listdetail" data-name="{{RequestedFor}}" data-transition="slide">{{RequestedFor}}<br><span
class="small">Requested new {{RequestedItem}} on {{formatDate dateSubmitted "short"}}</span></a>
</li>
{{/each}}
</ul>
</div>
</template>
的問題似乎是,模板渲染事件確實尚未呈現的數據,因此它試圖做的東西,現在尚未列表視圖刷新。現在,我這樣做黑客,但是這不是我想保持課程:
Template.requests.rendered = function(){
Meteor.setTimeout(function() {
if ($('[data-role="listview"]')) {
$('[data-role="listview"]').listview().listview("refresh");
}
}, 300); //Must be >= 300ms to render the listview properly
};
如果您添加新的'ul',則僅使用'.listview()'。如果您將'li'添加到現有的'ul',則只能使用'.listview(「refresh」)'。 – Omar
我已經嘗試了這兩種方法,但這不起作用,因爲列表視圖尚不可見。我需要一種方式來做到這一點後,列表視圖是可見的,然後我期望它的工作。問題是我似乎無法找到一種方法來做到這一點與流星。 – occasl
有沒有錯誤? – Kshitiz