Passando parâmetros para uma função no knockoutjs viewmodel
Eu tenho uma marca de âncora como esta
<a href="#" class="btn btn-success order-btn" data-bind="attr:{'data-tiername':$data.tierName, 'data-identifier' : $parent.identifier}, click: $root.setPath.bind($data,$data.tierName, $parent.identifier)">Send values</a>
No modelo de exibição
var appViewModel = {
setPath: function (data, tier, identifier) {
alert(data);
alert(tier);
alert(identifier);
},
...........
...........
}
O resultado é que alguns códigos principais do knockoutjs estão sendo exibidos na mensagem de alerta (possivelmente definições das funções observable (), dependenteObservable () e [Object object], que está vazio quando alertado com JSON.stringify)
por que isso funciona?
data-bind="attr:{'data-tiername':$data.tierName, 'data-identifier' : $parent.identifier}
mas não isso:
click: $root.setPath.bind($data,$data.tierName, $parent.identifier)
note que tierName é um observável (), o identificador é calculado ()
Onde posso encontrar mais informações sobre bind () ??