vue组件钩子函数

子组件开始隐藏,父组件有一个按钮点击显示子组件(通过v-if来切换),传一个id到子组件,子组件通过id发请求,请求在哪个钩子函数里面发呢

阅读 6.7k
3 个回答

watch,在子组件监听id值的变化,来执行函数

Vue2.0的话在mounted钩子函数中调用。
Vue1.0的话在ready钩子函数中调用。
测试代码如下:

<body>
    <div id="box">
         <button @click="click">click</button>
         <hello v-if="show"></hello>
    </div>
    <script>
    var hello = Vue.extend({
        template: '<div style="background:red;">hello</div>',
        mounted() {
            console.log("mounted")
        }
    });
    new Vue({
        el:'#box',
        components: {
            hello
        },
        data() {
            return {
                show: false
            }
        },
        methods:{
            click:function(num){
                this.show = !this.show;
            }
        }
    })
    </script>
</body>

效果截图如下:
没点击的时候没有log,也没有dom
clipboard.png

点击之后有log,也有dom
clipboard.png

v-if 是“真正的”条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。

使用 v-if 切换的时候,直接在子组件的 created 或者 mounted 钩子函数里请求。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题