Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs Meteor服务器端变量在方法之间保持_Angularjs_Meteor - Fatal编程技术网

Angularjs Meteor服务器端变量在方法之间保持

Angularjs Meteor服务器端变量在方法之间保持,angularjs,meteor,Angularjs,Meteor,我正在构建一个简单的Meteor Angular 1应用程序,但我很难在服务器中的方法之间持久化变量“var conn” 流星代码: import {Meteor} from 'meteor/meteor'; var name; Meteor.methods({ 'setName': function () { name = 'Harry'; }, 'getName': function () {

我正在构建一个简单的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,那个么名称就是“未定义”。我有Java背景,但不知道如何使meteor类在Angular模板之间持久化为同一个对象。非常感谢您事先提供的帮助。

我很惊讶它居然能工作。如果该代码确实在服务器上运行,那么每次调用都会在新的上下文中调用它。如果您希望数据持久化,则需要在数据库中持久化。

我很惊讶它居然能工作。如果该代码确实在服务器上运行,那么每次调用都会在新的上下文中调用它。如果希望数据持久化,则需要在数据库中持久化。

您有3个选项:

  • 将其存储在MongoDB中的集合中
  • 使用
    /server/xxx.js
    文件中定义的全局变量
  • 其他服务器端持久性工具。也许吧
  • 对于alt 2,您可以使用
    Meteor.onConnection()

    中的
    connection.id
    创建字典对象,并将数据范围限定到客户端连接。您有3个选项:

  • 将其存储在MongoDB中的集合中
  • 使用
    /server/xxx.js
    文件中定义的全局变量
  • 其他服务器端持久性工具。也许吧
  • 对于alt 2,您可以通过使用
    Meteor.onConnection()
    中的
    connection.id
    创建一个dictionary对象,并将数据范围限定到客户端连接