import { App } from 'vue'; import { WebBehaviorCollector } from '@tencent/merlin-behavior-web'; export const registerExposeRootHook = (app: App, behaviorCollector: WebBehaviorCollector) => { app.directive('ml-exposeRoot', { mounted(el, binding) { const exposeConfig = binding.value; // todo: 这里需要做入参校验 const name = binding.arg as string; behaviorCollector.exposeRoot(el, { name, exposeConfig, }); }, beforeUnmount(el) { behaviorCollector.deleteExposeRoot(el); }, }); };