我在本地Vue.js项目中有以下.html
文件(它是简化版):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue.js</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<main>
<div id="myElement">
<div v-for="(properties, name) in list" v-bind:key="name">{{ name }}</div>
</div>
</main>
<script type="module">
import SomeClass from "./SomeClass.js";
const myClass = new SomeClass();
let app = new Vue({
el: "#myElement",
data: {
list: myClass.object
},
});
</script>
</body>
</html>
在<script type="module">
标记内,我导入SomeClass
,其中包括一个称为object
的属性:
export default class SomeClass {
constructor() {
this.object = {
name1: { ... },
name2: { ... },
...
};
}
}
这里的问题是Vue.js对object
中的更改做出反应(如果我使用watch
进行了检查,但它不会更新我的HTML:
<div v-for"..." v-bind:key="...">...</div>
。
[添加到object
的新属性/更新旧属性后,如何使Vue.js更新HTML?
找到文档中的答案:https://vuejs.org/v2/api/#Vue-set