我正在尝试在 vue 中使用 innerHTML。但得到错误:捕获(承诺)TypeError:无法设置 null 的属性(设置“innerHTML”)
这是我在 App.vue 中的代码:
data () {
return {
}
},
mounted() {
async function getData () {
var domein = 'mydomain';
var slots = document.querySelectorAll('*[class^="prefix-"]')
var list = '';
for (var i = 0; i < slots.length; i++){
if ('cms-' === slots[i].className.split(" ")[0].substring(0, 7)) {
list += slots[i].className.split(" ")[0] + ',';
}
}
const res = await fetch(domein + '/response.php?slots=' + list)
const data = await res.json()
for (var y = 0; y < data.length; y++){
var slot = document.querySelector("*[class*=" + data[y].classname + "]")
slot.innerHTML = data[y].content
}
}
window.onload = function(){
getData();
};
}
}
我该如何解决这个错误?我使用了一个带有插槽和数据的 v-if。我用了 nextTick,它也没有用??我将 .innerHTML 替换为 .value,也不起作用吗?有人有什么建议吗?