ブートストラップJavaScriptボタンのテキストを更新して、ビューモデルで観察可能なノックアウトに保持されている番号を表示したいと思います。
ボタンのテキストをオブザーバブル以外のものに更新できます。オブザーバブルを含むように変更すると、ボタンのテキストが正しくなく、オブザーバブルが関数として表示されます。
フィドルで説明する方が簡単なので、簡単な例を次に示します。http: //jsfiddle.net/rswailes/JxHwy/
HTML
<button
id="download-file"
data-loading-text="Updating totals..."
data-bind="attr: {'data-complete-text' : 'Download lines: '+total ,
'data-finished-text' : 'done' }"
autocomplete="off"
class="btn btn-small download-file"
type="button">Download file</button>
<p>
Total: <span data-bind="text: total"></span>
</p>
JAVASCRIPT
var ViewModel = function(){
var self = this;
this.total = ko.observable();
this.loadModel = function(){
$('#download-file').button("loading");
this.total(10);
$('#download-file').button("complete"); // this is the line I would like to work but does not work
//$('#download-file').button("finished"); // if you uncomment this line you will see this line works fine
};
};
viewModel = new ViewModel();
ko.applyBindings(viewModel);
viewModel.loadModel();
なぜこれが起こっているのか、そして私がやりたいことが可能かどうか誰かに教えてもらえますか?
編集:私はtotal()
以下に提案されているように試しました、そして私Download lines: undefined
はボタンに「」を取得します。