Wiązanie z nokautem kliknij wiązanie w zastosuj Powiązania

Ostatnio oddzieliłem ViewModel do oddzielnego pliku JavaScript.

<code>var Report = (function($) {
    var initialData = [];
    var viewModel = {
        reports: ko.observableArray(initialData),
        preview: function(path) {
            // preview report
        },
        otherFunctions: function() {}
    };
    return viewModel;
})(jQuery);​
</code>

Oto kod związany z HTML i Knockout

<code><script type="text/javascript" src="path/to/report/javascript"></script>
<script type="text/javascript">
    $(document).ready(function () {
        ko.applyBindings(Report, document.body);
    });
</script>
</code>

Interfejs użytkownika HTML ma przycisk, na którym kliknięcie to powiązanie danych z funkcją podglądu w modelu widoku

<code><input type="button" name="Preview" id="Preview" class="btnPreview" 
    data-bind="click: Report.preview('url/to/report')" />
</code>

Problem Metoda podglądu jest wywoływana, gdy następująca linia wykonuje się w funkcji $ (document) .ready ()

<code>ko.applyBindings(Report, document.body); 
</code>

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.

questionAnswers(2)

yourAnswerToTheQuestion