Knockout disparando clique em binding em applyBindings
Recentemente eu separei ViewModel para um arquivo JavaScript separado.
<code>var Report = (function($) { var initialData = []; var viewModel = { reports: ko.observableArray(initialData), preview: function(path) { // preview report }, otherFunctions: function() {} }; return viewModel; })(jQuery); </code>
Aqui está o código relacionado a HTML e 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>
A interface de usuário em HTML possui um botão no qual o clique é vinculado a uma função de visualização no modelo de visualização
<code><input type="button" name="Preview" id="Preview" class="btnPreview" data-bind="click: Report.preview('url/to/report')" /> </code>
Problema O método preview é chamado quando a seguinte linha é executada na função $ (document) .ready ()
<code>ko.applyBindings(Report, document.body); </code>
Ou seja, sem o usuário clicar na função de visualização do botão Preview é acionado. Qual poderia ser a razão para esse comportamento? O material todo estava funcionando bem quando eu visualizava o JavaScript modelo na própria página HTML.