有没有办法在加载Knockout组件并将viewModel绑定到视图后捕获事件?
我想使用Knockout组件制作自定义弹出窗口,弹出窗口只应在加载完成后打开。
ko.components.loaders.unshift({
getConfig: function (name, callback) {
var widgetName;
callback({ require: 'Popups/' + name });
},
loadViewModel: function (name, viewModelConfig, callback) {
var viewModelConstructor = function (params) {
var model = viewModelConfig(params);
//Some custom code
return model;
};
ko.components.defaultLoader.loadViewModel(name, viewModelConstructor, callback);
}
});
打开弹出窗口时
this.PopupModel.activePopup(popup);
ShowPopup(); // Makes popup visible.
答案 0 :(得分:0)
是的!
this拉取请求中添加了一个名为descendantsComplete
的注册组件引发的新事件。说明:
添加DescendantsComplete事件,组件使用该事件来通知完成情况,直到后代组件也完成为止。
用法:
<my-component data-bind="event: { descendantsComplete: doSomething() }">
</my-component>
答案 1 :(得分:0)
从3.5.0版开始,您可以使用以下命令:https://knockoutjs.com/documentation/binding-lifecycle-events.html