0

在加载 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.
4

2 回答 2

0

从 3.5.0 版开始,您可以使用它:https ://knockoutjs.com/documentation/binding-lifecycle-events.html

于 2019-12-04T10:13:49.127 回答
0

是的!

在此拉取请求descendantsComplete中添加了一个由注册组件触发的名为 的新事件。描述:

添加由组件用来通知完成的 descendantsComplete 事件,等待后代组件也完成。

用法:

<my-component data-bind="event: { descendantsComplete: doSomething() }">
</my-component>
于 2018-10-20T15:31:12.620 回答