Рассмотрим следующий код:
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? или это просто ошибка? или, может быть, по дизайну почему-то?