Как я могу получить доступ к объектам Aurelia через переменную "window" из консоли отладки? - PullRequest
1 голос
/ 07 июня 2019

Мне нужен способ доступа к списку объектов, которые делает Аурелия.

В частности, у меня есть файл с именем current-user.ts. Этот файл содержит этот код:

export var currentUser = null; 

Мне нужен способ доступа к значению этой переменной. Желательно без вызова каких-либо функций. (Я пытаюсь ввести значение пользователя в приложение под названием Dynatrace.)

Я пытался просмотреть классы window и document.body.aurelia.container, но не могу найти способ получить значение.

Ответы [ 2 ]

3 голосов
/ 07 июня 2019

В любом элементе с поведением Aurelia (пользовательский элемент / пользовательский атрибут) вы можете получить доступ к базовой модели представления с помощью:

element.au.controller.viewModel

viewModel часто является пользовательским элементом, если у вас есть пользовательский элемент и пользовательскийатрибута в том же элементе, и вы хотите получить доступ к пользовательскому атрибуту, вы можете сделать

element.au['my-custom-attribute']

, чтобы получить модель представления пользовательского атрибута.

Кроме этого, в корневом элементе вашегоприложение, вы можете получить экземпляр Aurelia через

element.aurelia
2 голосов
/ 07 июня 2019

Если вы хотите получить доступ к переменной как из кода Aurelia, так и из другого кода application / js, вероятно, самый простой способ сделать это - использовать объект window.

Вы также можете добавить метод получения / установкив классе текущего пользователя, который обновляет как внутреннее свойство, так и объект окна, например,

class currentUser {
    private _userName: string;
    get userName(): string {
        return this._userName;
    }
    set userName(userName: string) {
        this._userName = userName;
        window['currentUserName'] = userName;
    }
}

let user = new currentUser();
user.userName = 'foo';

// both will output 'foo'
console.log(user.userName);
console.log(window['currentUserName']);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...