會話在HCR期間保留,因此您可以嘗試將文本字段與Session變量同步。例如:
<template name="textArea">
<textarea>{{textAreaValue}}</textarea>
</template>
Template.textArea.helpers({
textAreaValue: function() {
return Session.get("textAreaValue") || "";
}
});
Template.textArea.events({
"input textarea": function (evt) {
Session.set("textAreaValue", evt.currentTarget.value);
}
});
注意,這將導致每個字符鍵入之後textArea
模板重新運行。與Blaze這不應該是太大的問題,但如果你想避免這種情況,使用Deps.nonreactive
:
textAreaValue: function() {
return Deps.nonreactive(function() {
return Session.get("textAreaValue") || "";
});
}
雖然那麼你將無法使用Session.set("textAreaValue", ...)
您更新文本區域可以使用http://garlicjs.org/之類的東西,或者用https://github.com/mozilla/localForage編寫自己的解決方案 –
相關:https://github.com/meteor/meteor/issues/1969 –