vuecli中,父组件调用子组件的请求方法 如题,是一个嵌套组件(子组件放在tabs栏内进行切换显示),遇到了一个问题,需要点击父组件左侧的tree得到code码,把code码传递到子页面,使用父子传值,实现了传递数据,也可以实时更新。但是有个问题就是当在父组件点击tree的时候,子组件得到了最新的code码,却不能拿着最新的code码去查询,也就是事件无法再次触发,问大家该怎么在父组件调用到子组件的方法,实现数据的实时更新! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 子组件watch父组件传递来的props属性,来调用子组件的方法。即父组件的props属性一变,子组件的方法就被调用,相当于主动调起子组件的方法 <!DOCTYPE html><html><head> <meta charset="UTF-8"> <!-- 引入样式 --> <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"></head><body> <div id="app"> <my-parent></my-parent> </div></body><!-- 先引入 Vue --><script src="https://unpkg.com/vue/dist/vue.js"></script><!-- 引入组件库 --><script src="https://unpkg.com/element-ui/lib/index.js"></script><script> var MyChild = { watch:{ a(){ this.childMethod() } }, props:{ a:{ default:"" } }, template: '<div>{{a}}</div>', methods:{ childMethod(){ console.log("我是子组件方法,我被调起了") } } } var MyParent = { data: function () { return { pName:"p1" } }, template: '<div><h3>1</h3><my-child :a="pName"></my-child></div>', components:{ "my-child":MyChild }, created(){ setInterval(() => { this.pName = `p${Math.floor(Math.random() * 100)}` //相当于每秒调起子组件方法 },1000) } } new Vue({ el: '#app', data: function () { return { } }, methods: { }, components:{ "my-parent":MyParent } })</script></html> jquery easyui中DataGrid中如何设置checkbox为不可用状态 单选框问题 动态图片的问题 ie 中的 insertAdjacentElement 在firefox中怎样实现的 求助:根据表格的内容,将页面的横向滚动条自动显示出来 怎么判断Menu.xml中MainMenu标签下SubMenu标签的个数? 我怎么把一个<div>始终放在浏览器底部 各位大哥还请多多帮忙!! 如何让网页中的复选框全部选中 在jsp页面上显示后台java出现的违反唯一约束条件 关于闭包,实在没想清楚为什么出来是10? 新手上路,求大佬指点
即父组件的props属性一变,子组件的方法就被调用,相当于主动调起子组件的方法
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- 引入样式 -->
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
</head>
<body>
<div id="app">
<my-parent></my-parent>
</div>
</body>
<!-- 先引入 Vue -->
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<!-- 引入组件库 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script>
var MyChild = {
watch:{
a(){
this.childMethod()
}
},
props:{
a:{
default:""
}
},
template: '<div>{{a}}</div>',
methods:{
childMethod(){
console.log("我是子组件方法,我被调起了")
}
}
}
var MyParent = {
data: function () {
return {
pName:"p1"
}
},
template: '<div><h3>1</h3><my-child :a="pName"></my-child></div>',
components:{
"my-child":MyChild
},
created(){
setInterval(() => {
this.pName = `p${Math.floor(Math.random() * 100)}`
//相当于每秒调起子组件方法
},1000)
}
}
new Vue({
el: '#app',
data: function () {
return { }
},
methods: {
},
components:{
"my-parent":MyParent
}
})
</script>
</html>