knockout.js 捕获Knockout组件的已加载事件

yk9xbfzb  于 2022-11-10  发布在  其他
关注(0)|答案(2)|浏览(181)

在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.
uqzxnwby

uqzxnwby1#

是的!
this拉取请求中添加了一个名为descendantsComplete的已注册组件触发的新事件。描述:
添加组件用来通知完成的descendantsComplete事件,等待直到后代组件也完成。
用法:

<my-component data-bind="event: { descendantsComplete: doSomething() }">
</my-component>

相关问题