0

私はこの関数を持っていjsonます$scope.product_owners = data

$http({
    url: "php/functions.php",
    method: "GET",
    params: { 
        action: "get_product_owners"
    }
}).success(function(data) {
    $scope.product_owners = data;
});  

現在、この関数は自分のコントローラーで使用されているため、すべてのコントローラーで呼び出していますが、一度呼び出すことができたかどうか疑問に思っています。たとえば、$rootScopeまたはそのようなものを使用します。

4

4 に答える 4

2

1-ファクトリを作成し、必要に応じてコントローラー内で呼び出すことができます

yourApp.factory('httpFactory', function($http) {
return {
$http({
    url: "php/functions.php",
    method: "GET",
    params: { 
        action: "get_product_owners"
    }
}).success(function(data) {
    this.product_owners = data;
}); 
}}

次に、基本的にどこにでも注入し、

yourApp.controller('xCtrl', function (httpFactory) {
    $scope.product_owners = httpFactory.product_owners;
});

2-このようなアプリのメインコントローラーを使用することもできます

<body ng-controller="mainCtrl">

そしてその中にあなたのコードを入れてください

yourApp.controller('mainCtrl', function($scope, $http) {
$http({
    url: "php/functions.php",
    method: "GET",
    params: { 
        action: "get_product_owners"
    }
}).success(function(data) {
    $scope.product_owners = data;
}); }

これで、任意の schild スコープからこのデータにアクセスできます

于 2014-05-09T12:08:32.327 に答える