Я загружаю свой код в jsFiddle, вы можете протестировать его там.
вот в чем проблема, вместо получения полного имени показывает исходный код функции. Если я использую ko.computed, он будет работать. то, что я сделал ниже, также должно быть в порядке. Может кто-нибудь объяснить мне, почему он показывает исходный код, а не значение.
<p>First name: <input data-bind="value: firstName" /></p>
<p>Last name: <input data-bind="value: lastName" /></p>
<p>Full name: <span data-bind="text: fullName"></span></p>?
Код КО:
function AppViewModel() {
self = this;
self.firstName = ko.observable("Bert");
self.lastName = ko.observable("Bertington");
self.fullName = function(){
return self.firstName() + " " + self.lastName();
};
}
// Activates knockout.js
ko.applyBindings(new AppViewModel());?
ОБНОВЛЕНИЕ:
Чтобы ответить на вопрос TCM. почему я не хочу использовать ko.computed. не то чтобы я не хотел его использовать, просто потому, что я запутался и не уверен, когда его использовать. Например
следующий код взят из первого урока нокаута. он не использует ko.computegd, но работает.
http://learn.knockoutjs.com/#/?tutorial=intro
self.capName = function(){
var curVal = self.lastName();
self.lastName(curVal.toUpperCase());
};