你如何在更新时保持流星清除表格

时间:2015-05-07 01:27:37

标签: angularjs meteor

我有一个meteor / angular应用程序,我的index.ng.html页面看起来像

<div>
    {{1+4}}
    <form id = "myForm" name="myForm" >
        <input type="text" name = "username"/>
        <input type="text" name = "password"/>
        <input type="submit" value="Submit"/>
    </form>
</div>

当我通过将1 + 4更改为1 + 6来更新文件时,当页面“重新加载”时,我在表单中的任何预先填写的信息都会丢失。

如何在页面重新加载时避免丢失数据?

1 个答案:

答案 0 :(得分:1)

将数据存储在Session对象中。这应该可以在热代码重新加载后继续存在但手动页面刷新。

Template.xxx.events({
    'change input': function(e,tmpl) {
        var fieldName = tmpl.$(e.currentTarget).attr("name");

        Session.set('field' + fieldName, e.currentTarget.value);
    }
});

Template.xxx.helpers({
    valueForField = function(fieldName) {
        return Session.get("field" + fieldName);
    }
});

然后你可以在你的html中使用它:

<form id = "myForm" name="myForm" >
        <input type="text" value="{{valueForField 'username'}}" name = "username"/>
        <input type="text" value="{{valueForField 'password'}}" name = "password"/>
        <input type="submit" value="Submit"/>
    </form>
显然有点单调乏味。流星过去常常使用&#39;保留输入&#39;包,但看起来是deprecated