Объект Singleton в машинописном тексте потерян Данные о теге привязки target = "_ blank" - PullRequest
0 голосов
/ 29 января 2019

Я создал одноэлементный класс в файле машинописи Angular 6. Я устанавливаю значение одноэлементного объекта в компонентной функции onInit (). Он работает нормально.но когда я открываю новую вкладку при нажатии на якорь с target = "_ blank", данные одноэлементного класса не теряются. Это показывает пустой объект.

export class DatatableSingleton{
    private static _instance: DatatableSingleton;
    private constructor() {
    }

    public static get Instance() {
        return this._instance || (this._instance = new this());
    }
    public Datatable: Datatable;
}

Я не уверен в области действия объекта singleton, где онбудет доступен для новой вкладки, которую я открыл для того же или нет.

Ответы [ 2 ]

0 голосов
/ 29 января 2019

Когда вы открываете новую вкладку, вы создаете новый запрос к вашему приложению.Таким образом, каждый отдельный класс будет создан снова.Если вам нужно сохранить данные в браузере пользователей и получить к ним доступ из любой вкладки / окна браузера, используйте localStorage , websql или indexedDB .

0 голосов
/ 29 января 2019

Область применения вашего приложения Angular ограничена вкладкой, на которой вы находитесь. Если вы откроете две вкладки своего приложения, у вас будет два разных экземпляра приложения и, следовательно, два разных синглтона.

Если вы хотите обмениваться данными между вкладками, возможно, вы захотите изучить использование файлов cookie, локального хранилища или параметров. Этот пост может вам помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...