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