Meteor 热代码推送后如何保留文本输入值
我的Meteor应用程序需要用户在文本区域中输入大量文本。如果在用户输入文本时发生热代码推送,页面将刷新,用户将丢失工作 要重现这种行为:Meteor 热代码推送后如何保留文本输入值,meteor,Meteor,我的Meteor应用程序需要用户在文本区域中输入大量文本。如果在用户输入文本时发生热代码推送,页面将刷新,用户将丢失工作 要重现这种行为: 创建一个新的流星应用程序 在html中添加文本输入 运行应用程序 在文本字段中键入内容;及 通过调整js或html并保存,触发热代码刷新 热代码刷新将删除您在文本输入中输入的任何内容 有没有办法避免这种情况发生?有人对黑客或解决方法有什么建议吗 会话在HCR期间保留,因此您可以尝试将文本字段与会话变量同步。例如: <template name="t
- 创建一个新的流星应用程序李>
- 在html中添加文本输入李>
- 运行应用程序李>
- 在文本字段中键入内容;及
- 通过调整js或html并保存,触发热代码刷新
有没有办法避免这种情况发生?有人对黑客或解决方法有什么建议吗 会话在HCR期间保留,因此您可以尝试将文本字段与会话变量同步。例如:
<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);
}
});
尽管这样,您将无法使用Session.set(“textAreaValue”,…)更新文本区域。
您可以使用类似的方法或编写自己的解决方案,并使用相关的:
textAreaValue: function () {
return Deps.nonreactive(function() {
return Session.get("textAreaValue") || "";
});
}