我是angularjs的新手, 我有一个问题快速回复赞赏。 我需要一个从一个控制器到另一个控制器的变量 我不想使用范围。或服务 我怎么能这样做?
答案 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);
}]);