0

Я использовал приведенную ниже ссылку для совместного использования $ scope между контроллерами. Я использую Controller1 в xxx.html и Controller2 в yyy.html.Связь между сбоем контроллера при перезагрузке страницы

Это работало нормально, пока не произошло одно. Когда я перезагрузил страницу, служба не смогла прочитать значение $ scope предыдущего контроллера. Это можно использовать для контроллера на одной странице, но для моего случая у меня разные страницы для Controller1 и Controller2.

Может ли кто-нибудь дать мне решение, чтобы преодолеть это?

Reference

Услуги:

app.factory('Scopes', function ($rootScope) { 
    var mem = {}; 

    return { 
     store: function (key, value) { 
      $rootScope.$emit('scope.stored', key); 
      mem[key] = value; 
     }, 
     get: function (key) { 
      return mem[key]; 
     } 
    }; 
}); 

ответ

0

Это может привести вас больше работы здесь.

1: самое первое, если вы перезагружаете страницу (перезагрузка браузера), вы используете угловой неправильный путь.

2: всегда угловое должно быть одностраничное приложение.

3: здесь вам нужны данные совместного доступа после изменения $ state (может быть), если вы используете $ state route, он не перезагрузится, но он изменит страницы и URL-адреса.

4: в 3-м случае вам необходимо сохранить данные в $ rootScope или $ parent $ scope, а затем вы можете использовать его в любых следующих или предыдущих контроллерах.

5: Есть 3 рекомендуемых способов обмена данными с контроллерами Услуги События RootScope

Я рекомендую вашу используя службу или события, если вам нужно больше помочь, дайте мне знать.