VueJS 生命周期中的 props 何时更新

Ber*_*nie 7 vue.js vuejs2

我正在尝试访问 vuejs 生命周期的挂载钩子中的道具,但它似乎没有任何价值

我的(真正简化的)组件如下所示:

export default {
    props: [
        'columns',
    ],
    mounted: function() {
        console.log(this.columns)
    }
}
Run Code Online (Sandbox Code Playgroud)

父级看起来像这样:

<script>
    import DatatableHeader from './DatatableHeader.vue';

    export default {
        data: {
            columns: [{'heading': 'Column 1'}, {'heading': 'Column 2'}]
        },
        components: {
            'datatableheader'   : DatatableHeader,
        }
    }
</script>
Run Code Online (Sandbox Code Playgroud)

组件正确呈现,但挂载函数的输出是一个空数组,对我来说似乎是时间问题。

难道我做错了什么?或者我应该使用不同的生命周期钩子。

谢谢!

qw3*_*w3n 5

简而言之,您可以访问已安装挂钩中的道具。如果您检查此小提琴,您将看到警报成功显示列的标题。https://jsfiddle.net/yj3k1wLx/1/您的程序正在运行但返回空数组的事实似乎表明您实际上并未传入 columns 数组。<test :columns="columns">将小提琴与您的代码进行比较,看看您是否有错误的引用或变量。

更新 对您的评论的简单回答是将根挂钩更改为已创建而不是已安装。但是,我感觉你的做法是错误的。现在我还没有看到你的代码,但我认为问题出在你更新数组上。请阅读此处的注意事项https://v2.vuejs.org/v2/guide/list.html#Caveats,然后查看此更新的演示https://jsfiddle.net/yj3k1wLx/4/