7
KnockoutがhtmlをDOMに追加してレンダリングを完了した後にカスタムコードを実行する方法はありますか?私はこれを必要とするので、動的に追加されたHTMLコードにネストされたビューモデルをバインドすることができます。htmlバインディングのafterRender
ような何か:「update
」イベントが呼び出されることが保証されていないため
<div data-bind="html: dynamicHtml, afterRender: customCode"></div>
...
MyViewModel.prototype.customCode = function(){
ko.applyBindings(self.MyInnerViewModel(), document.getElementById('someTagInTheDynamicHtml'));
};
afterRender
は、(?のみテンプレートバインディングで動作します)ここに呼ばれず、カスタムバインディングはどちらか助けていません。 DOMが更新された後
感謝- よく働く。私はそれが 'ab().html()'で始めるべきだと思います。また、人々が何が起こっているのか理解できるように、コードをリファクタリングしてもらえますか? – seldary
いいえ、 'ab().html'があるはずです。それは、すべてのバインディング間の* html *バインディング存在のチェックだけです。私は説明で私の答えを更新しました。 –