• Angular2-like регистрация компонентов и зависимостей для knockoutjs

    Добрый день.

    Понравилась атрибутная регистрация компонентов в angular2 и захотелось сделать подобное в проекте с knockoutjs.

    @Component({
        selector: "setup-add-edit-street-name",
        template: require("text!./AddEditStreetName.tmpl.html"),
        directives: [BeatSelector]
    })
    export class AddEditStreetNameComponent extends AddEditModalBaseComponent<StreetNameViewModel> {
        constructor(@Inject("params") params, streetNameService: StreetNameService) {
            super(params, streetNameService);
        }
        
        location = ko.observable()
    }
    

    Компоненты в нокауте появились довольно давно. Тем не менее, отсутствие встроенной поддержки dependency injection, как и необходимость отдельной регистрации компонент несколько раздражала.
    Читать дальше →