我需要一种方法来访问aurelia制造的对象列表。
具体来说,我有一个名为current-user.ts的文件。该文件中包含以下代码:
export var currentUser = null;
我需要一种方法来访问此变量的值。最好不调用任何函数。 (我正在尝试将用户价值注入到名为Dynatrace的应用程序中。)
我尝试遍历window
和document.body.aurelia.container
类,但是找不到找到该值的方法。
答案 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']);