Wiązanie z nokautem kliknij wiązanie w zastosuj Powiązania
Ostatnio oddzieliłem ViewModel do oddzielnego pliku JavaScript.
var Report = (function($) {
var initialData = [];
var viewModel = {
reports: ko.observableArray(initialData),
preview: function(path) {
// preview report
},
otherFunctions: function() {}
};
return viewModel;
})(jQuery);
Oto kod związany z HTML i Knockout
<script type="text/javascript" src="path/to/report/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
ko.applyBindings(Report, document.body);
});
</script>
Interfejs użytkownika HTML ma przycisk, na którym kliknięcie to powiązanie danych z funkcją podglądu w modelu widoku
<input type="button" name="Preview" id="Preview" class="btnPreview"
data-bind="click: Report.preview('url/to/report')" />
Problem Metoda podglądu jest wywoływana, gdy następująca linia wykonuje się w funkcji $ (document) .ready ()
ko.applyBindings(Report, document.body);
Oznacza to, że bez kliknięcia przez użytkownika funkcja podglądu przycisku Podgląd zostanie uruchomiona. Co może być powodem tego zachowania? Cały materiał działał bez zarzutu, gdy przeglądałem JavaScript modelu w samej stronie HTML.