Пытается получить учебник по внедрению knockoutjs (2.21), который работает с машинописными текстами (0.9). Связывание данных не работает. Это первый JavaScript, на который я смотрел в течение многих лет. Я думаю, что мне не хватает правильного подключения html к viewmodel, сгенерированного с помощью классов типов. Проблемы возникали только после того, как я попытался ввести класс в учебник. Вот jsfiddle.TypScript knockoutjs привязка данных не работает
HTML фрагмент:
<body>
<!-- This is a *view* - HTML markup that defines the appearance of your UI -->
<p>First name: <strong data-bind="text: firstName"></strong></p>
<p>Last name: <strong data-bind="text: lastName"></strong></p>
<p>First name: <input data-bind="value: firstName" /></p>
<p>Last name: <input data-bind="value: lastName" /></p>
<p>Full name: <strong data-bind="text: fullName"></strong></p>
<button data-bind="click: capitalizeLastName">Go Caps</button>
</body>
фрагмент машинопись
class koIntroductionViewModel {
firstName: any;
lastName: any;
fullName: any;
constructor() {
this.firstName = ko.observable("Bert");
this.lastName = ko.observable("Bertington");
this.fullName = ko.computed(this.createFullname());
}
createFullname() {
return this.firstName + " " + this.lastName;
}
capitalizeLastName() {
var currentVal = this.lastName;
this.lastName = currentVal.toUpperCase();
}
}
window.onload =() => {
ko.applyBindings(new koIntroductionViewModel());
}
Сформирован Javascript
var koIntroductionViewModel = (function() {
function koIntroductionViewModel() {
this.firstName = ko.observable("Bert");
this.lastName = ko.observable("Bertington");
this.fullName = ko.computed(this.createFullname());
}
koIntroductionViewModel.prototype.createFullname = function() {
return this.firstName + " " + this.lastName;
};
koIntroductionViewModel.prototype.capitalizeLastName = function() {
var currentVal = this.lastName;
this.lastName = currentVal.toUpperCase();
};
return koIntroductionViewModel;
})();
window.onload = function() {
// Activates knockout.js
ko.applyBindings(new koIntroductionViewModel());
};
http://meta.stackexchange.com/questions/147616/what-do-you-mean-it-doesnt-work –
Извините, я должен был сказать, что привязка данных не работала в названии. – javelinBCD