Ошибка загрузки загруженных данных API в шаблон

Если вы используете эту функцию для генерации версии HTML5 datepicker для браузеров, формат даты должен быть yyyy-MM-dd (формат ISO). Используя TextBoxFor(), он должен быть

@Html.TextBoxFor(m => m.InitialDate, "{0:yyyy-MM-dd}", new { @class = "form-control", type = "date" })

. В качестве альтернативы добавьте следующие атрибуты к свойству

[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public Nullable<System.DateTime> InitialDate { get; set; }

и в представлении используйте

@Html.EditorFor(m => m.InitialDate)

Обратите внимание, что это добавляет атрибут type="date"

-2
задан Alisson Boucinhas 16 January 2019 в 05:36
поделиться

3 ответа

Подписаться почти работает как обещание в javascript и имеет обратный вызов.

.subscribe(response=>this.user=response)

. Обратный вызов передается до конца текущего цикла события. Так что вы обращаетесь к

console.log(this.user)

до обратного вызова в вашей подписке исполняется.

вместо этого попробуйте

.subscribe((response) => {
  this.user=response;
  //you can access value of this.user here or call other function here to 
  //access this.user
  console.log(this.user);

})
0
ответ дан vaibhavmaster 16 January 2019 в 05:36
поделиться

this.user не сразу доступен после того, как вы позвоните subscribe(), очень возможно, что getUser() не выдало никакого результата к моменту вызова console.log(this.user).

Если вы просто хотели посмотреть, что в this.user, вы можете попробовать сделать это в обратном вызове subscribe()

this.clientHeaderService.getUser().subscribe((response) => {
  this.user = response;
  console.log(this.user); // this.user should be available here
})

. На стороне шаблона вы сможете получить доступ к пользователю через {{ user }}.

Я бы также предложил поделиться вашим минимальным воспроизводимым кодом на https://stackblitz.com/ , чтобы получить помощь легче.

0
ответ дан Yaobin Then 16 January 2019 в 05:36
поделиться

Пользователь $ представляет поток, должен быть назначен следующим образом:

export class {
    // a stream type
    user$: Obserable<User>;

    ngOnInit() {
        // a stream type
        this.user$ = this.clienteHeaderService.getUser();
    }

}

и шаблон добавить |async канал.

0
ответ дан yujinpan 16 January 2019 в 05:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: