2

以下は、単純なコンポーネントを作成する例です。http://knockoutjs.com/documentation/component-binding.html#component-lifecycleによるとdispose、コンポーネントが DOM から削除されたときに ko によって呼び出される関数を追加することができます。ステップ 5 The component is activeにフックできるようなものを探しています。

コメントで要求された追加情報

以下の例では、a) によって作成された DOM フラグメントを挿入し、ko componentb) DOM にアタッチされたら、<ul>を kendo PanelBar に変換します。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>

ビューモデル

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
};
4

1 に答える 1

1

イベントに参加したいのは私だけではないようですactiveが、現在これはノックアウトではサポートされていません。ただし、3.3 以降の機能リクエストがあり ます https://github.com/knockout/knockout/issues/1475

于 2014-08-26T13:36:31.717 に答える