2016-07-05 8 views
0

ボタンをクリックしてページに適用する入力ボックスにテキストを入力しようとしています。私は送信バインディングを使用していますが、私が間違っていることを理解できません。ノックアウトはボタンをクリックしてバインディングを送信する

HTML:

<form data-bind="submit: doSomething"> 
<label> 
    <input data-bind='value: showText' /> 
</label> 
    <button type="submit">button</button> 
</form> 
    <h1><span data-bind='text: fullText'> </span></h1> 

JS:

var ViewModel = function(text) { 
    this.showText = ko.observable(text); 

    this.doSomething : function(formElement) { 

    this.fullText = ko.computed(function(){ 
     return this.showText(); 
    }, this); 
} 
}; 

ko.applyBindings(new ViewModel()); 

答えて

1

まずエラー:

this.doSomething : function(formElement) { 

する必要があります
this.doSomething = function(formElement) { 

2番目のエラー:

this.fullText 

は、関数の内部で定義されていますが、ViewModelにに結合してそれを使用します。

固定コードのjsfiddleを用意しました。

関連する問題