如何从调试控制台通过“ window”变量访问Aurelia对象?

时间:2019-06-07 00:00:01

标签: aurelia chrome-debugging

我需要一种方法来访问aurelia制造的对象列表。

具体来说,我有一个名为current-user.ts的文件。该文件中包含以下代码:

export var currentUser = null; 

我需要一种方法来访问此变量的值。最好不调用任何函数。 (我正在尝试将用户价值注入到名为Dynatrace的应用程序中。)

我尝试遍历windowdocument.body.aurelia.container类,但是找不到找到该值的方法。

2 个答案:

答案 0 :(得分:3)

在具有Aurelia行为的任何元素(自定义元素/自定义属性)上,您都可以通过以下方式访问基础视图模型:

.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
 "Sheet1!R1C1", TextToDisplay:="Click Me"

element.au.controller.viewModel 通常是自定义元素,如果您在同一元素上具有自定义元素和自定义属性,并且想要访问自定义属性,则可以这样做

viewModel

获取自定义属性视图模型。

除此之外,在应用程序的根元素处,您可以通过以下方式获取aurelia实例

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

答案 1 :(得分:2)

如果您想同时从Aurelia代码和其他一些application / js代码中访问变量,则使用window对象可能是最简单的方法。

您还可以在current-user类中添加一个getter / setter来更新内部属性和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']);