【问题标题】:How to call a Vue Method after data has been loaded?加载数据后如何调用 Vue 方法?
【发布时间】:2021-01-18 10:53:09
【问题描述】:

我试图在组件安装后调用一个方法,但似乎该方法在数据被提供给组件之前就被触发了。

我得到的错误:

[Vue warn]: Error in mounted hook: "ReferenceError: url_refresh is not defined"

我的组件如下所示:

export default {
    props: {
        columns: Array,
        url_base: String,
        url_refresh: String,
    },
    methods: {
        refresh() {
            axios.get(url_refresh)
            .then(function (response) {
                // handle success
                console.log(response);
            })
            .catch(function (error) {
                // handle error
                console.log(error);
            })
            .then(function () {
                // always executed
            });
        }
    },
    computed: {
        // URL para Editar
        url_edit: function () {
            return this.url_edit+'/edit/'+item.id
        }
    },
    mounted() {
        this.refresh()
    },
}

我这样称呼它:

<nexdatatable
:columns="['Nome','Tipo de Cliente', 'Documento', 'Filiais']"
:url_refresh="`{{route('clients.refresh_table', ['tenant_id'=>auth()->user()->tenant_id])}}`"
:url_base="`{{route('clients.index')}}`"
ref="nexdatatable"></nexdatatable>
</div>

【问题讨论】:

    标签: vue.js vuejs2 vue-component


    【解决方案1】:

    所有propsdata 都必须使用this 引用,所以:

    axios.get(this.url_refresh)....
    

    【讨论】:

    • 感谢您的帮助,您的回答就是这样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-27
    • 1970-01-01
    • 1970-01-01
    • 2021-04-22
    • 1970-01-01
    • 1970-01-01
    • 2019-06-02
    相关资源
    最近更新 更多