如何在不使用范围

时间:2015-06-23 12:33:18

标签: angularjs

我是angularjs的新手, 我有一个问题快速回复赞赏。 我需要一个从一个控制器到另一个控制器的变量 我不想使用范围。或服务 我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

我已经采用实现模型来实现这种功能。最常见的是,我使用它来使Web服务返回的数据集可由多个屏幕访问。

例如:假设你有一个"账户"屏幕上显示所有帐户的课程谷物信息,但您还想提供一个"帐户详细信息"屏幕显示更细粒度的信息。假设您的帐户集合包含详细的帐户信息,则无需从详细信息屏幕进行额外的Web服务调用;只是通过模型访问数据。

我知道这不是最好的例子,但你明白了。

答案 1 :(得分:0)

只需在第一个控制器中使用。您需要在控制器中注入$window服务。

  

对浏览器窗口对象的引用。窗口是全球性的   在JavaScript中可用,它会导致可测性问题,因为它是   全局变量。在角度我们总是通过它来引用它   $ window服务,因此可能会被覆盖,删除或嘲笑   测试

app.controller("FirstController", ['$scope', '$window', function ($scope, $window) { 
$window.my_value = "value";
}]);

你将在第二个控制器中得到这个值,比如

app.controller("SecondController", ['$scope', '$window', function ($scope, $window) { 
    console.log($window.my_value);
    }]);