我有一个Vue组件(Highlight.vue),现在写一个Markdown组件,要复用这个Highlight.vue组件,markdown中解析代码模块是通过js回调方式的,示例如下:
require('markdown')({ highlight: (code, lang) => { // 需要在此处使用Hightlight.vue组件(直接写无法生效) return '<Highlight code="code" lang="lang"></Highlight>' }});
各位大佬,有没有办法解决这种插入vue组件代码的?
自定义指令:
Vue.directive('markdown', { bind(el, binding, vnode) { const markdown = require('markdown')({ highlight: (code, lang) => { const Highlight = Vue.extend(vnode.context.$options.components.Highlight); const component = new Highlight({ propsData: { code, lang } }).$mount(); return component.$el.outerHTML; } }); el.innerHTML = markdown.parse(el.textContent || ''); }});
然后,你可以在你的模板中使用这个自定义指令,就像这样:
<template> <div v-markdown="markdownContent"></div></template><script>export default { data() { return { markdownContent: `
console.log('Hello, world!'); ``` `};
}
};
</script>
代码地址 要如何正确引入ant并使用呢?
本文向大家介绍怎么在vue中使用插件?相关面试题,主要包含被问及怎么在vue中使用插件?时的应答技巧和注意事项,需要的朋友参考一下 建议有时候不要直接使用第三方插件, 而是经过自己的封装. 要不然改起来, 就要跳楼
本文向大家介绍在vue组件中怎么获取到当前的路由信息?相关面试题,主要包含被问及在vue组件中怎么获取到当前的路由信息?时的应答技巧和注意事项,需要的朋友参考一下 this.$router.path 或者 this.$router 是this.$route.path吧 对,
这里定义了一个函数式组件,怎么在使用它的时候,添加一个默认的class='text'?如下:
我有一个用例(如下),我需要
这里 div怎么写动态class呢 ? 这么写会报错