1

我的应用程序中有一个工厂,它将环境 uri 数据作为输入参数并返回一个 $resource 对象,如下所示。coreService 是在许多其他 UI 控制器中使用的单例对象。最初,应用程序使用默认配置环境值注册。一旦用户登录,就会触发一个事件,该事件会更改 environmentData 对象。这里的问题是 coreService 仍然保存默认的 environmentData 值并且不获取更新的环境数据。

angular.module('mbapp.sm')
  .factory('coreService', coreService);
coreService.$inject = ['$resource','environmentData'];
function coreService($resource,environmentData) {
  return $resource(environmentData.getAppInfoURI(), null,
    {
      getAppInfo: {
        method: 'GET',
        headers: {
          'Accept': 'application/json'
        },
        url: environmentData.getAppInfoURI() + "appInfo?appId=:appId"
      },
     getAllAppHistory: {
        method: 'GET',
        headers: {
          'Accept': 'application/json'
        },
        url: environmentData.getHistoryURI() + "apps?history=Y&version=1"
      },

      
});

控制器类调用服务如下 -

coreService.getAppInfo({ 
appId: var }).$promise.then(appInfoSuccess, appInfoFailure);

需要帮助是想办法在基本 uris 更改时更新 environmentData。如果 environmentData.getAppInfoURI() 返回 "aaa" 并随后更改为 "bbb",则 coreService 仍保留 getAppInfoURI() 的 "aaa" 值

4

0 回答 0