vue子组件通过props传递来了一个对象引用,父组件数据变更了但是子组件内没有变化

新手上路,请多包涵

没怎么做过前端,公司业务需要临时学的vue,请各位大哥指教一下。

我在子组件中通过props传来了一个叫做“cur_project”的引用,“cur_project”内有个子数组“list_dbsource”,我在其他地方给这个数组动态的添加了内容,但是在子组件内却没有变化。

子组件是这样的:

Vue.component("item-database", {
        props: ["title","cur_project","dbinfo"],
        template: '<div><h3>{{title}}</h3>' +
        '<p>source:' +
        '<el-select v-model="dbinfo.srcname" placeholder="请选择" size="small">' +
        '<el-option' +
        'v-for="item in cur_project.list_dbsource"' +
        ':key="item.source_name"' +
        ':value="item.source_name"></el-option>' +
        '</el-select></p>' +
        '<p>dbname:{{dbinfo.dbname}}</p></div>',
    })

我在list_dbsource里push()了对象,但是这个el-option没有新的内容绘制出来。
求指教怎样才能让子组件跟随父组件数据的变化而变化

阅读 4.4k
1 个回答

mmp的,研究了半天自己解决了,把

'<el-option' +
        'v-for="item in cur_project.list_dbsource"' +
        ':key="item.source_name"' +
        ':value="item.source_name"></el-option>' +

的换行去掉,改成同一行就可以了,写成下面这样就行

template: '<div><h3>{{title}}</h3>' +
        '<p>source:' +
        '<el-select v-model="dbinfo.srcname" placeholder="请选择" size="small">' +
        '<el-option v-for="item in cur_project.list_dbsource" :key="item.source_name" :value="item.source_name"></el-option>' +
        '</el-select></p>' +
        '<p>dbname:{{dbinfo.dbname}}</p></div>',

什么鬼啊!!!哪位大哥能给解释一下???

推荐问题