コードを 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>?
KOコード:
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());
};