Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.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-加载响应时显示div(如果已加载)_Javascript_Vue.js - Fatal编程技术网

Javascript Vue-加载响应时显示div(如果已加载)

Javascript Vue-加载响应时显示div(如果已加载),javascript,vue.js,Javascript,Vue.js,我试图在api调用成功时显示一个div。当我点击一个按钮并且过程完成时,使用v-if控件来检测变量是否为真 <div id="app" class="container h-100"> <div v-if="correct==true" class="alert alert-success" role="alert"> <strong>Correcto</strong>. Datos a

我试图在api调用成功时显示一个div。当我点击一个按钮并且过程完成时,使用v-if控件来检测变量是否为真

     <div id="app" class="container h-100">    

        <div v-if="correct==true" class="alert alert-success" role="alert">
             <strong>Correcto</strong>. Datos actualizados de forma satisfactoria.
        </div> 

        <button v-on:click="guardar" type="button" class="btn btn-outline-primary btn-block">Modificar </button></div>

</div>

            <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
            <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
            <script>
                var app = new Vue({
                    el: '#app',
                    data() {
                        return {
                            correct: false
                        }
                    },
                    methods: {
                        guardar: function () {
                            axios
                                .get('ENDPOINT')
                                .then(response => {
                                    return {
                                        correct: true
                                    }
                                })
                                .catch(function (error) {
                                    console.log(error);
                                })
                        },
                    }
                })
            </script>

问题:V-if无法检测“correct”变量何时为真。当我得到回应时,我想一定是出了什么问题。当过程完成时,什么是将“correct”变量设置为true的正确方法?

您应该在成功的get请求后更改状态

更正。满足形式的实际数据。 方法:{ 瓜达尔:功能{ axios .get'ENDPOINT' .thenresponse=>{ //这里更新正确的状态 这是正确的 } .catchfunction错误{ 控制台日志错误 这是正确的 } } }
另一方面,您不需要进行比较,只要v-if=correct就足够了。然后你的bug,你没有在任何地方使用返回值,从给定的代码中我可以看出,谁调用了guardar?您无法在回调中访问它,您需要在调用axios.get之前通过将其存储在局部变量中来获取引用