Я хотел бы прослушать свойство isDesktop и при его изменении вызвать панель параметров отображения / скрытия.Проблема в экстендере. Единственные части, к которым я могу получить доступ, - это target, option, и это ни одна из них не обеспечивает доступ к модели представления, где расположены методы show / hide.
Это работало до того, как я переключился на использованиеТребуйте JS и компоненты, потому что он использовал глобальную область для доступа к этим вещам.Лучше не использовать глобальную область видимости, но она ограничивает доступ к необходимым свойствам.Я пытался связать это, но это только дает мне доступ к глобальному объекту окна, который не обеспечивает доступа.
ko.extenders.responsive = function(target, option) {
target.subscribe(function(isDesktop) {
if (isDesktop) //showOptions()
else //hideOptions()
})
return target
}
//
isDesktop: ko.observable(false).extend({ responsive: true }),
Я предполагаю, что есть способ получить доступ к области, которая вызвала экстендер из экстендера,Если нет, то какие еще решения можно попробовать?