Reputation: 24905
I am struggling calling a function with knockout!
var bankViewModel = function () {
self.addBank = function(){
return function(){
self.addShow(true);
var bank = new observableBank('',"","","","","","","","","Active");
self.newBank(bank);
};
};
};
var bankViewModelInstance = new bankViewModel();
ko.applyBindings(bankViewModelInstance, document.getElementById("company-info-bank"));
and in the view I have tried loads of variations of binding with:-
<button id="demo-btn-addrow" class="btn btn-purple btn-labeled fa fa-plus" data-bind="click: addBank()">Add New</button>
tried $parent (undefined), $data - does nothing etc.
Can someone tell me what silly mistake I am making?
Thanks
Upvotes: 0
Views: 79
Reputation: 6045
Tough your code works well check here .
couple of corrections/Improvements :
data-bind="click: addBank"
no need to bind with addBank()
inside click function which make click
fire onLoad .function()
viewModel:
var bankViewModel = function () {
var self = this;
self.newBank = ko.observableArray();
self.addShow = ko.observable();
self.addBank = function () {
self.addShow(true);
/* var bank = new observableBank('',"","","","","","","","","Active"); */
self.newBank.push(1); //for testing
};
};
var bankViewModelInstance = new bankViewModel();
ko.applyBindings(bankViewModelInstance);
sample working fiddler here
Upvotes: 2