Я не уверен, возможно ли это, или, может быть, более безумно хороший дизайн.Мы ценим обратную связь.
У нас есть интерфейс, в который мы добавляем функциональные элементы через «плагины».Дизайн плагина представляет собой объект javascript с некоторыми данными и некоторыми методами, как показано ниже:
function FeedbackPlugin(){
return {
name: "Feedback",
help: "Provide feedback on any element of the site",
...
showForm : function(_feedbackType) {
...
},
...
messageCallbacks: [{callbackKey:"ProvideFeedback",callbackHandler:showForm}]
};
}
Каркас загружает каждый плагин и затем перебирает messageCallbacks , чтобы связать кометные события с методами плагина.
К сожалению, приведенный выше код не работает.Метод плагина showForm находится вне области действия, когда инфраструктура пытается его зарегистрировать.Я думаю, что нам, возможно, понадобится передать указатель на метод showForm существующего экземпляра плагина ...
- Есть ли способ в javascript как-то сделать этот метод статичным?
- Должен ли метод просто жить вне плагина для удобства?
Спасибо.