几个小时以来我一直遇到 VueJS 的问题,需要帮助。
我有一个带有 HTML 字符串的变量。我想通过 JS 操作这个字符串。这样就在某个单元格中绘制了一个徽章。 但是任何更改都不会被接管。我不知道为什么。
<template>
...
<div class="html-wrapper" id="file">
<div v-html="htmlCode"></div>
</div>
</template>
<script>
...
methods: {
redrawBadges() {
var vmThis = this;
this.scripts.forEach(s => {
if(s.target != '')
if(document.getElementById(s.target) != null) {
let badge = s.html;
let idIndex = vmThis.htmlCode.indexOf('id="'+ s.target +'"');
let tdEnd = vmThis.htmlCode.indexOf('>', idIndex);
vmThis.htmlCode = vmThis.htmlCode.splice(tdEnd + 1, 0, badge);
console.log(vmThis.htmlCode.slice(0));
}
});
}
},
...
</sciprt>
控制台输出正确的字符串。但是,组件不显示它。即使使用 Vue DevTools,我也看不到字符串已更改。
最佳答案
使用 Vue.set(object, propertyName, value)
这会帮助你。
关于javascript - VueJS 组件数据不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58813383/