Я собираюсь через компоненты Knockoutjs (http://knockoutjs.com/documentation/component-overview.html) для создания повторно используемых виджетов. Я искал достаточно, но не смог найти пример того, как добиться наследования. Например, предположим, что у вас есть компонент базового окна, а другие окна могут наследовать его и переопределять методы. Возможно ли это в Нокауте?Достижение наследования в компонентах knockoutjs
ответ
«Favor composition over inheritance» часто говорят, но редко практикуются. Я думаю, что это должно вступить в игру здесь. Наследование следует использовать для расширения. Если вы переопределяете методы, вы должны поддерживать композицию.
Компоненты сами по себе, композиты объектов (их модели) и шаблоны, а не традиционные объекты с данными и методами.
Очевидно, что вы можете взять часть viewmodel и наследовать ее или создать новую модель, которая ее включает. Создайте новый компонент на основе новой модели просмотра, используя либо старый шаблон, либо новый (я не вижу разумного способа наследования из шаблона, хотя вы могли бы создать новый шаблон, который включает старый).
Одним словом, возьмите шаблон и viewmodel отдельно вместо того, чтобы пытаться наследовать от компонента.
- 1. функции в компонентах нокаута (knockoutjs 3.2+)
- 2. Достижение множественного наследования с использованием Object.create()
- 3. Достижение наследования прототипа с частной переменной в родительском объекте
- 4. Достижение многопоточности в javascript
- 5. Достижение JTextField в DocumentListener
- 6. Достижение многопоточности в PHP
- 7. Достижение предметов в JSON.
- 8. Пример $ postLink() в компонентах
- 9. prompt() в компонентах калитки
- 10. Авторизация в компонентах JSF2
- 11. Макет текста в компонентах
- 12. window.scrollTo() в компонентах реакции?
- 13. Angular2 эквивалент наследования шаблонов
- 14. Достижение JSon результата в список
- 15. Достижение интерполяции в Angular 2
- 16. Достижение точного времени в android
- 17. Достижение нескольких замков в clojure
- 18. Достижение функции ANY() в RORacle
- 19. Достижение предела памяти в R
- 20. Достижение UpdatePanel-Functionality в MVC
- 21. Достижение View.PostDelayed в Android Аннотации
- 22. Достижение многоядерности в Java - как?
- 23. Достижение функциональности CaseInsensitiveComparer в winRT
- 24. Достижение динамического охвата в JavaScript
- 25. Достижение переменных в других функциях
- 26. достижение max.print на R
- 27. Достижение проекции вне оси
- 28. Достижение теплового зрения
- 29. Достижение пределов шторма Apache
- 30. достижение цели номер
Может потребоваться уточнить некоторые условия здесь. Я предполагаю, что «окно» означает HTML-часть компонента? И вы упоминаете наследование: компоненты нокаута поддерживают повторное использование и вложенность, но ничего конкретно о наследовании? – Quango
Я имел в виду модальное окно или всплывающее окно – VJAI