Meteor Server端变量在方法之间保持不变

时间:2017-01-06 14:52:39

标签: angularjs meteor

我正在构建一个简单的Meteor-Angular 1应用程序,我很难让我的变量' var conn'在服务器中的方法之间保持不变。

流星代码:

import {Meteor} from 'meteor/meteor';

var name;

    Meteor.methods({
        'setName': function () {
           name = 'Harry';
        },

        'getName': function () {
            console.log(name);
            });
        }
    });

如果我从Angular中的同一模板调用setName和getName,则名称仍然存在。如果我在一个模板中设置名称但在另一个模板中调用getName,那么名称是“未定义的”#39;。我带来了Java背景,并且不知道如何使meteor类作为Angular模板之间的相同对象保持不变。非常感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

我很惊讶它的功能完全正常。如果该代码确实在服务器上运行,则在每次调用时在新的上下文中调用它。如果您希望数据保持不变,则需要在数据库中保留。

答案 1 :(得分:0)

您有3个选项:

  1. 将其存储在MongoDB中的一个集合中。
  2. 使用/server/xxx.js文件中定义的全局变量。
  3. 其他服务器端持久性工具。也许https://github.com/lmaccherone/node-localstorage
  4. 对于alt 2,您可以使用connection.id [Docs]中的Meteor.onConnection()创建字典对象并将数据范围定位到客户端连接。

相关问题