अपडेट किया गया है तो वर्तमान यूज़र पुन: प्रस्तुत करने में सामग्री को लपेटा गया है, मैं उल्का का उपयोग कर रहा हूं और एक समस्या है जहां मेरी सामग्री को फिर से प्रस्तुत किया जा रहा है जब मैं इसे नहीं चाहता हूं।जब उपयोगकर्ता
मेरी मुख्य सामग्री currentUser
में लिपटे है यदि मुझे लगता है कि कथन जो काफी मानक है।
{{#if currentUser}}
{{> content}}
{{/if}}
इस समस्या के साथ मेरी सामग्री टेम्पलेट को फिर से प्रस्तुत किया जा रहा है जब मैं अपना उपयोगकर्ता ऑब्जेक्ट अपडेट करता हूं। क्या इसके आसपास कोई रास्ता है? मैं सामग्री टेम्पलेट के अंदर कहीं भी उपयोगकर्ताओं का संदर्भ नहीं देता हूं।
धन्यवाद!
यहाँ मेरी समस्या को दोहराने के लिए एक नमूना अनुप्रयोग है:
एचटीएमएल
<head>
<title>Render Test</title>
</head>
<body>
{{loginButtons}}
{{> userUpdate}}
{{#if currentUser}}
{{> content}}
{{/if}}
</body>
<template name="userUpdate">
<p>
<input id="updateUser" type="button" value="Update User Value" />
User last update: <span id="lastUpdated">{{lastUpdated}}</span>
</p>
</template>
<template name="content">
<p>Render count: <span id="renderCount"></span></p>
</template>
जावास्क्रिप्ट
if (Meteor.isClient) {
Meteor.startup(function() {
Session.set("contentRenderedCount", 0);
});
Template.content.rendered = function() {
var renderCount = Session.get("contentRenderedCount") + 1;
Session.set("contentRenderedCount", renderCount);
document.getElementById("renderCount").innerText = renderCount;
};
Template.userUpdate.events = {
"click #updateUser": function() {
Meteor.users.update({_id: Meteor.userId()}, {$set: {lastActive: new Date()}});
}
};
Template.userUpdate.lastUpdated = function() {
return Meteor.user().lastActive;
};
}
if (Meteor.isServer) {
Meteor.users.allow({
'update': function() {
return true;
}
});
}
अद्यतन: मैं इस उदाहरण में एक व्याख्या की है चाहिए थोड़ा। उपयोगकर्ता बनाने के बाद, अद्यतन उपयोगकर्ता मान बटन पर क्लिक करने से, रेंडर गणना बढ़ने का कारण बनती है। ऐसा इसलिए है क्योंकि यह {{#if currentUser}}
में लपेटा गया है। यदि यह हटा दिया गया है, तो आप देखेंगे कि रेंडर गिनती 1
इसके अलावा, आपको अपनी परियोजना में accounts-ui
और accounts-password
पैकेज जोड़ना होगा।
यही काम किया पूरी तरह से। धन्यवाद! – Irving
@MurWade नए ब्लेज़ इंजन के साथ कुछ महीने पहले उल्का 0.8.3 के साथ intro'd। अब आप {{{#if currentUser}} का उपयोग कर सकते हैं ... {{/ if}} ' – Akshat
पुन: प्रस्तुत करने के अंदर सामान के बिना {{pathFor path = 'dashboard'}} का उपयोग करके चेक को फिर से प्रस्तुत करना , किसी भी विचार को अक्षम करने के लिए कैसे? – digz6666