У меня есть якорь тег, как этотПередача параметров в функции в knockoutjs ViewModel
<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>
В ViewModel
var appViewModel = {
setPath: function (data, tier, identifier) {
alert(data);
alert(tier);
alert(identifier);
},
...........
...........
}
В результате некоторые knockoutjs основной код, отображаемый в предупреждающем сообщении (возможно, определения наблюдаемые(), зависимые функции Observable() и [Объект объекта], который пуст при получении предупреждения с помощью JSON.stringify)
Почему это работает?
data-bind="attr:{'data-tiername':$data.tierName, 'data-identifier' : $parent.identifier}
, но не это:
click: $root.setPath.bind($data,$data.tierName, $parent.identifier)
отмечают, что tierName является наблюдаемой(), идентификатор вычисляется()
Где я могу найти больше о безвыходном() ??
Я хотел сделать 'alert (уровень); alert (идентификатор); 'в моей функции viewmodel, я действительно не хотел контекста (этого). Поэтому моя функция стала 'setPath (tier, identifier)' Спасибо за помощь – nthapa13
KO добавляет реализацию 'bind', если она недоступна, поэтому, если вы ссылаетесь на KO, тогда вы можете использовать' bind'. –
Спасибо, Р. Р. Нимейер, это хорошо знать. –