gpt4 book ai didi

javascript - 获取页面加载的详细信息,并在 Controller 中共享

转载 作者:行者123 更新时间:2023-12-03 10:40:22 24 4
gpt4 key购买 nike

我需要在应用程序初始化后立即获取产品数据,使用我在页面的不同部分中使用的相同 Controller 来创建不同的实例。

HTML:

<header class="clearfix" ng-controller="EntityDetailController"
ng-init="entity_id={{id}}; get_details('products');">

...
</header>

JS:

    $scope.result = Products.get({
type : type,
id : $scope.entity_id
});
$scope.result.$promise.then(function(result) {

});

我需要将数据存储在某些服务中,以便稍后我可以与所有 Controller 共享数据,并且我还需要在收到数据后通知所有 Controller ,以便他们可以从工厂获取数据。

最佳答案

有两种方法可以实现:

  1. 通过在 .run 方法中注入(inject)服务,将服务部分包含在其中。因此,当服务调用解析时,数据将在所有 Controller 中可用。

ng-init 相比,这是更简洁的方法

angular.module('yourApp')
.run(['ProductsService', '$http', function (ProductsService, $http) {
// make the api request here
}]);
  • ng-router 中使用 resolve 属性。在应用程序 Controller 加载之前,发出服务请求。因此,一旦服务解析, Controller 就会加载。
  • 默认情况下,一旦注入(inject)服务,服务数据将可供所有 Controller 使用。无需广播。

    关于javascript - 获取页面加载的详细信息,并在 Controller 中共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28808624/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com