在流星中检索用户输入的最快方法

时间:2014-11-17 14:27:50

标签: javascript meteor

我想知道什么是最好的(最好的(和?)最安全的方法来检索流星中的用户输入。 它是Javascript,我知道有jQuery所以我带来了两个解决方案:

第一个:

在HTML中,仅输入:

<input id='input1' type='text' />

我检索:

Template{(
    'event #input1' : function(){ 
        // event like change or keyup
        var data = $('#input1').val()...
        ...

等......或者第二次:

在HTML中,仅输入:

<form>
    <input name='input1' id='input1' type='text' />
</form>

我检索:

Template{(
    'submit form' : function(e){
        e.prenventDefault(); //avoid page refresh
        var data = $(e.target).find('[name=input1]').val()...
        //Is this faster because it only search the data in the form and not in the whole page ?
        ...

那你用什么?为什么?表单元素仍然有用吗?仅用于处理多个输入,更安全,更快?

1 个答案:

答案 0 :(得分:0)

我会推荐第二个选项。在第一个选项中,您可以在数据可用时(密钥,更改等)获取数据以存储....在哪里?如果要实施WIP(正在进行中)表单,我强烈建议您使用第一种方法并将其保存到本地存储。不要立即将其插入数据库中。

更有意义的是,当用户提供输入时,用户确认他已完成编辑数据并按下保存。这样您就可以保存到数据库一次。在第一种方法中,如果每次数据更改时保存到数据库,订阅数据的其他客户端将获得大量更新,并会注意到发生了一些奇怪的事情。这实际上取决于你想做什么。

即使您想立即保存数据,也要考虑保存到localStorage的想法,设置超时以将数据发送到数据库,并尝试确保您没有客户端观察该数据集。 / p>