如何避免web api方法在angular中使用factory方法调用多个

时间:2017-09-19 00:40:57

标签: angularjs asp.net-web-api

我有一个填充主数据的下拉框。我在添加和编辑功能中使用的这些数据也意味着两个控制器。为了获取和填充下拉数据,我使用了角度js和web api。实现了一个工厂服务,用于调用web api,并在这两个控制器中使用相同的工厂服务来调用工厂。通过这样做,网络Api调用两次添加和编辑控制器也。我认为不需要两次调用web Api方法,因为这是一个主数据并且只获得一次该数据并且只要我们需要就使用相同的数据。请帮助我如何避免两次web Api呼叫。

示例代码:

**Factory:**

        'use strict';
        app.factory('masterdataservice', ['$http', 'config', function ($http, config) {

            var masterdataserviceFactory = {};

            var urlBase = config.webApiUrl;

            masterdataserviceFactory.wwstatus = function () {
                return $http.get(urlBase + 'api/sca/wwstatus');
            };

            masterdataserviceFactory.wwseverity = function () {
                return $http.get(urlBase + 'api/sca/wwseverity');
            };

            return masterdataserviceFactory;
        }]);

**Controller:**

        app.controller('AddSupportProductCtrl', ['$scope','$http', 'masterdataservice',
        function ($scope, $http, masterdataservice) {

         masterdataservice.wwstatus()
                          .then(function (response) {
                              $scope.statues = response.data;
                          });

            masterdataservice.wwseverity()
                                     .then(function (response) {
                                         $scope.severites = response.data;
                                     });

        }]);

0 个答案:

没有答案