当前位置: 首页 > 面试题库 >

如何在Angular中使用$ rootScope存储变量?

周朗
2023-03-14
问题内容

如何$rootScope在以后要在另一个控制器中访问的控制器中存储变量?例如:

angular.module('myApp').controller('myCtrl', function($scope) {
  var a = //something in the scope
  //put it in the root scope
});

angular.module('myApp').controller('myCtrl2', function($scope) {
  var b = //get var a from root scope somehow
  //use var b
});

我该怎么做?


问题答案:

在根范围内设置的变量可通过原型继承供控制器范围使用。

这是@Nitish演示的修改后的版本,它更加清楚地显示了这种关系:http :
//jsfiddle.net/TmPk5/6/

注意,在模块初始化时设置了rootScope的变量,然后每个继承的作用域都有自己的副本,可以独立设置(该change函数)。另外,rootScope的值也可以更新(中的changeRs函数myCtrl2

angular.module('myApp', [])
.run(function($rootScope) {
    $rootScope.test = new Date();
})
.controller('myCtrl', function($scope, $rootScope) {
  $scope.change = function() {
        $scope.test = new Date();
    };

    $scope.getOrig = function() {
        return $rootScope.test;
    };
})
.controller('myCtrl2', function($scope, $rootScope) {
    $scope.change = function() {
        $scope.test = new Date();
    };

    $scope.changeRs = function() {
        $rootScope.test = new Date();
    };

    $scope.getOrig = function() {
        return $rootScope.test;
    };
});


 类似资料:
  • 问题内容: 我对AngularJS应用有个主意,我很好奇AngularJS社区是否认为可以这样做。简而言之,我正在连接到数据API并将结果显示在页面上。 我创建了一个AngularJS服务,该服务在上创建了一个数据存储。我还有一个服务方法,可以使用从API端点返回的数据更新DataStore。如果我使用来从控制器内部请求“ products” API端点,则它将使用我的产品数据进行更新。 现在,在

  • 问题内容: 当我使用变量执行此查询时,将显示此错误。 问题答案: 用括号括起来的选择。

  • 作为Hibernate中BLOB值的后期创建钩子的替代方法,我认为数据库内触发器是更好的解决方案,因此我尝试编写以下触发器: 将与触发器一起使用,例如: 然而,我无法计算出构建语句的语法。 [2022-03-09 16:14:51][42601]ERROR:语法错误在或接近lo_oid [2022-03-09 16:14:51]位置:279 真的不可能像在其他语句中那样使用变量吗?

  • 所以,我正在运行一个童子军服务器,为此,我制作了一个机器人。为了更好的组织,我们一直在努力获得每个人的真实姓名。机器人将要求他们的名字,他们将键入!命名为Travis_c。然后我希望它将他们的不一致用户名存储在一个变量中,并发送一条消息告诉我trullycool= ' ' 我有问题用户=message.author()我知道如果我想回复我做的事情message.reply但在我的情况下不会工作。

  • 问题内容: 我的应用程序在$ rootScope中初始化一个对象图,如下所示: …然后使用该对象图中的数据(仅1向绑定),就像这样… 这项工作正常,但是如果我随后(在页面渲染完成之后)尝试更新$ rootScope并将原始对象替换为新对象,则将其忽略。我最初以为这是因为AngularJS保留了对原始对象的引用,即使我已经替换了它。 但是,如果将使用方的HTML包装在控制器中,则可以按预期的方式重复

  • 问题内容: 我想创建一个属性字符串,然后将其存储在中,然后再次访问它,并将属性字符串分配给。我该怎么办?提前致谢。 问题答案: 您必须将转换为,然后将其存储在中。