2013-05-14 2 views
2

Для этого связывания:Как параметры передаются функции нокаута?

<a data-bind='click: $root.thisValue '> 

Соответствующая функция Нокаут принимает «связь» в качестве параметра:

this.thisValue = function(link) { 

Как установить параметр «ссылка»? Кажется, он не установлен в привязке данных?

ответ

2

его не элемент, его контекст данных, связанный с элементом

http://jsfiddle.net/FpYkS/

ViewModel = function() { 
    this.data = "data";   
} 

ViewModel.prototype = { 
    handle: function(item) { 
     console.log(item.data); 
    } 
}; 
+0

это правильно? для функции 'function (link)' knockout js неявно заполняет параметр 'link', используя параметр данных. Параметр data устанавливается нокаутом js в значение в привязке: '$ root.thisValue' –

+1

Если вы находитесь в цикле привязки foreach и выполняете root.myFunction, элемент, переданный функции, будет элементом в массиве – Anders

Смежные вопросы