Рассмотрим следующий код:
class Person{
firstname = ko.observable<string>();
lastname: ko.observable<string>();
fullname = ko.computed(()=>{
// Breakpoint here
return this.firstname() + ' ' + this.lastname();
});
когда я отлаживаю Visual Studio 2013, если поставить точку останова и увидеть значение this
с помощью часового или немедленного окна, это означает, что значение window
не является экземпляром человека. Следовательно, он показывает undefined
для this.firstname
.
Проверяя преобразованный код JavaScript, я выясню, что я должен проверить значение _this
вместо this
.
Хотя код работает без ошибок, но он тратит много времени, чтобы понять, что истинное значение переменной this
доступно через _this
.
Вопрос Я где-то не прав в использовании свойств класса, который вызывает это вводящее в заблуждение значение в значении this
? или это просто ошибка? или, может быть, по дизайну почему-то?