Javascript PRISMJ在vuejs中使用vuerouter在不同路由之间不工作
我已经在Javascript PRISMJ在vuejs中使用vuerouter在不同路由之间不工作,javascript,vue.js,vue-router,prismjs,Javascript,Vue.js,Vue Router,Prismjs,我已经在main.js文件中全局导入了prism.js。 代码块语法高亮显示在主组件中工作正常,但在使用vue路由器路由到另一个页面后,没有任何效果 在main.js中 // Global Import import 'prismjs/prism.js' import 'prismjs/components/prism-swift.min.js' // swift lang import './theme/prism-swift-theme.css' 在我关于组件的页面中 专用功能设置子视图
main.js
文件中全局导入了prism.js
。代码块语法高亮显示在主组件中工作正常,但在使用
vue路由器
路由到另一个页面后,没有任何效果
在main.js中
// Global Import
import 'prismjs/prism.js'
import 'prismjs/components/prism-swift.min.js' // swift lang
import './theme/prism-swift-theme.css'
在我关于组件的页面中
专用功能设置子视图(){
让value=“加载代码块”;
}
无法理解这里出了什么问题。是否有任何方法可以全局导入
node\u模块
prismjs文件?我认为保留main.js将很好,但它不会在路由之间全局添加…使用npm安装后,最好的方法是在每个组件中单独使用import Prism from'prismjs
时导入它。只需确保在呈现DOM后在使用Prism的组件中使用Prism.highlightAll()
方法,无论是在mount()
hook中还是在updated
中使用nextTick
方法,确保在使用Prism之前呈现所有DOM。因此,在您的情况下,您应该这样使用它:
从“prismjs”导入棱镜
更新:函数(){
此.$nextTick(函数(){
Prism.highlightAll();
})
}
使用npm安装后,最好的方法是在每个组件中单独使用时导入它,并从“prismjs”导入Prism
。只需确保在呈现DOM后在使用Prism的组件中使用Prism.highlightAll()
方法,无论是在mount()
hook中还是在updated
中使用nextTick
方法,确保在使用Prism之前呈现所有DOM。因此,在您的情况下,您应该这样使用它:
从“prismjs”导入棱镜
更新:函数(){
此.$nextTick(函数(){
Prism.highlightAll();
})
}
<pre><code class="language-swift">
private func setupSubviews() {
let value = "Loading code block";
}
</code></pre>