子组件开始隐藏,父组件有一个按钮点击显示子组件(通过v-if来切换),传一个id到子组件,子组件通过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
点击之后有log,也有dom
v-if 是“真正的”条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。
使用 v-if 切换的时候,直接在子组件的 created 或者 mounted 钩子函数里请求。
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答4.8k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
watch,在子组件监听id值的变化,来执行函数