Может ли кто-нибудь сказать мне, как получить доступ к переменной asc
в нижнем расширителе для привязки данных?привязка данных к переменной в расширителе
HTML
Пример css
связывания:
<th><a href="#" data-bind="sort: { arr: myArray, prop: 'myProp' }, css: { 'up_chevron': sort.asc, 'down_chevron': !sort.asc }">Performance</a></th>
Нокаут
ko.bindingHandlers.sort = {
init: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
var asc = true;
element.style.cursor = 'pointer';
element.onclick = function() {
var value = valueAccessor();
var prop = value.prop;
var data = value.arr;
asc = !asc;
if (asc) {
data.sort(function (left, right) {
return left[prop] == right[prop] ? 0 : left[prop] < right[prop] ? -1 : 1;
});
} else {
data.sort(function (left, right) {
return left[prop] == right[prop] ? 0 : left[prop] > right[prop] ? -1 : 1;
});
}
}
}
};
вы не можете его определить только в области видимости функции инициализации , вам нужно изменить код – Anders