Я создаю базовый веб-ресурс Angular 8.2 для Dynamics CRM, но мне не удается присвоить значение свойству класса.
Код следующий:
HTML
<div>
Hello {{loggedInUserName}} from {{ title }}.<br/>
<br/>
The first retrieved user from WebApi was {{ firstUserFullName }}
</div>
и контроллер:
import {
Component
} from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
title = 'XRM-Angular-Base-App';
loggedInUserName: String;
firstUserFullName: String;
ngOnInit() {
let context = Xrm.Utility.getGlobalContext();
this.loggedInUserName = context.userSettings.userName;
console.log("Logged in user: " + this.loggedInUserName)
Xrm.WebApi.retrieveMultipleRecords("systemuser", "?$select=firstname,fullname&$filter=firstname eq 'Alexandre'").then(
function success(result) {
alert(result.entities[0].fullname);
this.firstUserFullName = result.entities[0].fullname;
alert(this.firstUserFullName);
},
function (error) {
alert("Error: " + error.message);
}
);
}
}
При отладке (с файлами .map) код переходит к первому предупреждению (alert(result.entities[0].fullname);
), показывает правильный результат ("Александр Кто-то "), но ничего не делайте с следующей инструкцией (this.firstUserFullName = result.entities[0].fullname;
), и второе предупреждение никогда не отображается.