【发布时间】:2021-06-15 01:14:03
【问题描述】:
我正在尝试在 chrome 扩展的内容脚本中使用 Vue.js 3。
在这里,我在呈现的网页(例如 google.com)上创建元素:
content-script.js
let element = document.querySelector('h1#title')
element.insertAdjacentHTML('afterend', '<div id="counter">COUNTER: {{counter}}</div>');
在这里我创建了 Vue 应用程序:
import { createApp } from 'vue'
const CounterApp = {
data() {
return {
counter: 0
}
},
mounted() {
setInterval(() => {
this.counter++
}, 1000)
}
}
createApp(CounterApp).mount('#counter')
console.log(CounterApp)
但在网页中它显示 COUNTER: {{counter}} 而没有实际填充内容。
在控制台中:
{模板:“↵计数器:{{计数器}}↵
", __props: Array(0), __emits: null, 数据: ƒ, 挂载: ƒ}
【问题讨论】:
-
您是否通过 vue-cli 使用样板文件创建了扩展,如果没有,则需要在 index.html 中包含 vue 库。
-
这是一个 chrome 扩展中的内容脚本。我没有index.html,怎么包含?
-
不,我没有使用 vue-cli
-
如果没有,则默认不包含 vue 库,您需要将其包含在内容脚本中
-
您可以使用 vue-cli check this post 创建扩展项目。
标签: vue.js google-chrome-extension vuejs3