Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Vue.js不更新HTML_Javascript_Html_Vue.js_Es6 Modules - Fatal编程技术网

Javascript Vue.js不更新HTML

Javascript Vue.js不更新HTML,javascript,html,vue.js,es6-modules,Javascript,Html,Vue.js,Es6 Modules,我在本地Vue.js项目中有以下.html文件(这是一个简化版本): 这里的问题是Vue.js会对对象中的更改做出反应(如果我使用查看),但它不会更新我的HTML: … 当新属性添加到对象时,如何使Vue.js更新我的HTML?Vue有一种方法可以将属性添加到数据属性中的项目中(这样它们就可以保持反应性)。(更多信息:) 下面的代码段可能会帮助您查看正在运行的方法: class-SomeClass{ 构造函数(){ this.object={ 名称1:{ 名称:'name3' }, 名称2:{

我在本地Vue.js项目中有以下
.html
文件(这是一个简化版本):

这里的问题是Vue.js会对
对象中的更改做出反应(如果我使用
查看
),但它不会更新我的HTML:


当新属性添加到
对象时,如何使Vue.js更新我的HTML?

Vue有一种方法可以将属性添加到数据属性中的项目中(这样它们就可以保持反应性)。(更多信息:)

下面的代码段可能会帮助您查看正在运行的方法:

class-SomeClass{
构造函数(){
this.object={
名称1:{
名称:'name3'
},
名称2:{
名称:“名称4”
}
}
}
}
const myClass=new SomeClass()
新Vue({
el:“应用程序”,
计算:{
//用于反应显示的变换阵列
transformedObj(){
常量ret=[]
this.keyVal().forEach(e=>{
e、 forEach(el=>{
后推(el)
})
})
回程网
}
},
数据:{
对象:myClass.object
},
方法:{
//变换对象以获得更好的显示效果
keyVal(){
返回Object.keys(this.Object.map)(e=>{
返回Object.entries(this.Object[e]).map([k,v])=>{
返回`${k}:${v}`
})
})
}
},
安装的(){
//添加新属性(被动)
Vue.set(this.object.name1,'newProperty','2')
//或添加新属性(反应性)
this.$set(this.object.name2,'localNewProperty',45)
}
})

  • {{item}
对象:{{transformedObj}
<!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>
export default class SomeClass {
    constructor() {
        this.object = {
            name1: { ... },
            name2: { ... },
            ...
        };
    }
}