我創建了帖子頁面的左半邊和右隱藏顯示容器中可見的列表流星應用。用戶點擊帖子標題,顯示容器變爲頁面右側並顯示完整帖子。現在,顯示完整帖子的容器最初是隱藏的,只是其元素用手柄表達式填充。如果您點擊另一篇文章,同一個展示容器將保持打開狀態,但其內容已更改。上後重新渲染一個隱藏的元素
點擊
Template.postsList.events({
'click .post': function (e, template) {
e.preventDefault();
Session.set('selectedPost', this._id);
}
});
例車把表達
Template.postDisplay.title = function() {
return Posts.findOne(Session.get('selectedPost')).title
}
一切正常和良好,除了顯示容器的反應性質。如果數據庫中的某些內容發生變化(無論是增加的註釋,標題中的變化等),顯示屏會再次隱藏,我必須重新點擊該文章。 postsList模板的所有值都正常無縫地更新,沒有任何眨眼或任何事情。
有沒有辦法有顯示容器的值更新而被隱藏保持呢?
這就是我一直在顯示容器。只是經常展示和隱藏。
在原稿裝載
$('#post-display-container').hide();
在元件單擊postDisplay模板的
$('.title').click(function() {
$('#post-display-container').show()
});
實施例。當然,我沒有做這件事。
<template name="postDisplay">
{{#each posts}}
<h3 class='title'>{{title}}</h3>
<p class='body'>{{body}}</p>
{{/each}}
</template>
模板幫手
Template.postDisplay.helpers({
posts: function() {
return Posts.find(Session.get('selectedPost'));
}
})
這應該很容易。顯示容器的方式可能存在錯誤。你能展示你使用的代碼嗎? –
@HubertOG好吧我更新了信息。 – Nubby