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 () ??

questionAnswers(4)

yourAnswerToTheQuestion