Я хочу, чтобы текст в загрузочной javascript-кнопке обновлялся, чтобы показать номер, который хранится в нокауте, наблюдаемом в моей модели просмотра.Кнопка Javascript Bootstrap не показывает нокаут наблюдаемый
Я могу обновить текст на кнопке, чтобы быть чем угодно, кроме наблюдаемого, когда я изменяю его, чтобы содержать наблюдаемый, текст кнопки неправильный и отображает наблюдаемую как функцию.
Это легче объяснить с скрипку так вот упрощенный пример: 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();
Может кто-нибудь сказать мне, почему это происходит, и если то, что Я хотел бы сделать это возможно?
EDIT: Я пробовал total()
, как предложено ниже, затем я получаю «Download lines: undefined
» на кнопке.
Я попробовать это, то я получаю «неопределенные» вместо текста функции. Я уточню свой вопрос. – Rachel
Кнопка Bootstrap кэширует исходное значение данных и поэтому не использует ваше новое значение. Например, если исходное значение было 5: http://jsfiddle.net/rniemeyer/pcTsu/ –
Я принимаю это, потому что total() верен, но вы также объясняете, почему сохраняется исходное значение данных. – Rachel