Жизненный цикл компонентов

Ниже приведен пример, который создает простой компонент. В соответствии с http://knockoutjs.com/documentation/component-binding.html можно добавить dispose функция, которая вызывается ко, когда компонент удаляется из DOM. Я ищу что-то подобное, что позволило бы мне перейти к шагу 5. Компонент активен.

дополнительная информация по запросу комментария

В приведенном ниже примере я хотел бы а) вставить фрагмент DOM, созданный ko component и б) после подключения к DOM преобразовать <ul> в кендо PanelBar. Это очень похоже на то, как это можно сделать с помощью Durandal's compositionComplete событие. Возможно, есть и другие решения, но мне интересно посмотреть, как / если это может быть достигнуто с помощью компонентов выбивки.

шаблон

<div class="panel panel-default">
    <div class="panel-heading">
        <h3 class="panel-title">Panel title</h3>
    </div>
    <div class="panel-body">
       <ul class="panelBar" data-bind="foreach: widgets">
          <li data-bind="text: text"></li>
       </ul>
    </div>
</div>

ViewModel

var widgets = [
    {
        text: 'Options'
    },
    {
        text: 'Pages'
    }
];

function FeaturePanel(params){
    this.widgets = ko.observableArray(widgets);
}

function createViewModel ( params, componentInfo ) {

   return new FeaturePanel(params);
}

module.exports = {
    createViewModel: createViewModel
};

1 ответ

Решение

Похоже, я не единственный, кто хочет подключиться к active событие, но в настоящее время это не поддерживается нокаутом. Однако есть запрос на добавление 3.3+ https://github.com/knockout/knockout/issues/1475

Другие вопросы по тегам