vue使用props动态传值给子组件里的函数用,每次更新,呼叫函数
父组件
<template>
<div id="app"> <div>详情内容</div>
<button v-on:click="startCount">开始</button> <Info :startCountsub="startCountState" /> </div>
</template> <script>
import bus from '../../bus/bus.js';
import 'common/css/reset.css';
import Hello from 'components/Hello/Hello'
import Info from 'components/info'
export default {
name: 'app',
data () {
return {
startCountState:false
}
}, methods:{
startCount:function(){ this.startCountState=true;
console.log('this.startCountState:' + this.startCountState);
console.log("开始倒计时");
// bus.$emit("countDown"); 不使用bus
}
},
components: {
Hello,Info
}
}
</script> 子组件: <template>
<div class="info">
<h1>{{ msg }}</h1> <img src="../module/detail/images/test.jpg" style="width:200px"> <h2><span>{{timeout}}</span>秒倒计时,父亲传过来的值:{{startCountState}}||{{startCountsub}}</h2>
<button v-on:click="startCount">开始</button>
</div>
</template> <script>
import bus from '../bus/bus.js';
export default {
name: 'info',
props: ["startCountsub"],
data () {
return {
msg: 'Welcome to Your Vue.js App info',
timeout:60,
// startCountState: this.$parent.startCountState, //startCountsub
startCountState: this.startCountsub //就初始化的时候更新一次,但在模板里会动态更新
}
},
computed: { },
created(){
// this.countDown();
console.log(this.$parent);
bus.$on("countDown",()=>{
//this.startCountState=true
//this.countDown();
this.startCount();
}); let intval2=setInterval(()=>{
console.log('儿子:this.startCountState:' + this.startCountState);
if(this.$parent.startCountState){
this.startCountState=true; this.countDown();
clearInterval(intval2);
} },1000); },
watch: {
startCountState:'countDown'
},
methods:{
countDown:function(){
//console.log('哈this.startCountsub:' + this.startCountsub); if(this.startCountState){
let intval=setInterval(()=>{ this.timeout--;
this.timeout==0 && clearInterval(intval);
},1000);
} },
startCount:function(){ this.startCountState=true;
} } }
</script> bus import Vue from 'vue'
var bus=new Vue(); /*
bus.$on("haha1",(text)=>{
alert(text);
});
bus.$on("haha2",(text)=>{
alert('haha2:'+text);
})
*/ export default bus;
vue使用props动态传值给子组件里的函数用,每次更新,呼叫函数的更多相关文章
- vue 父组件动态传值至子组件
1.进行数据监听,数据每次变化就初始化一次子组件,进行调取达到传递动态数据的目的普通的监听: watch:{ data: function(newValue,oldValue){ doSomeThin ...
- vue点击父组件里面的列表动态传值到子组件
<template> <div> 爸爸 <div style="background-color:yellow;margin-top:10px" v- ...
- iview 父组件动态传值给子组件
父组件 <maintenance-super :show="{'modalSuper':modalSuper,'myData':myData}" @on-close=&quo ...
- vue中父组件使用props或者$attras向子组件中传值
知识点:vue中使用props或者$attras向子组件中传值 (1) props传值 子组件必须注册好要传的数据() props:['id'] (2)$attrs传值 该数据在props中,没有注册 ...
- vue+elementUI项目,父组件向子组件传值,子组件向父组件传值,父子组件互相传值。
vue+elementUI项目,父组件向子组件传值,子组件向父组件传值,父子组件互相传值. vue 父组件与子组件相互通信 一.父组件给子组件传值 props 实现父组件向子组件传值. 1父组件里: ...
- 【转】Vue组件一-父组件传值给子组件
Vue组件一-父组件传值给子组件 开始 Vue组件是学习Vue框架最比较难的部分,而这部分难点我认为可以分为三个部分学习,即 组件的传值 - 父组件向子组件中传值 事件回馈 - 子组件向父组件发送消息 ...
- vue 组件-父组件传值给子组件
父组件通过属性,传值给子组件,子组件通过,props数组里的名称来接受父组件传过来的值. HTML部分: <div id="app"> <tmp1 :parent ...
- 40.VUE学习之--组件之间的数据传参父组件向子组件里传参,props的使用实例操作
父组件向子组件里传参,props的使用实例 <!DOCTYPE html> <html> <head> <meta charset="utf-8&q ...
- 九、React中的组件、父子组件、React props父组件给子组件传值、子组件给父组件传值、父组件中通过refs获取子组件属性和方法
一.概述 React中的组件: 解决html 标签构建应用的不足. 使用组件的好处:把公共的功能单独抽离成一个文件作为一个组件,哪里里使用哪里引入. [父子组件]:组件的相互调用中,我们把调用者称为父 ...
随机推荐
- vmware tools for linux 安装
Linux VMware Tools安装步骤简易版 Linux VMware Tools安装估计有点困难,我也在网上看了好多版本的Linux安装VMware Tools,方法都一样.但是自己在安装过程 ...
- eclipse 切换数据库
PS:jdbc.url = 后面的路径就是连接的数据库,如果需要连接开发库(dev_cfin),则只需要将tg_cfin 换成 dev_cfin,重启后台即可.
- C/C++获取Linux系统CPU和内存及硬盘使用情况
需求分析: 不使用Top df free 等命令,利用C/C++获取Linux系统CPU和内存及硬盘使用情况 实现: //通过获取/proc/stat (CPU)和/proc/meminfo(内存 ...
- 4.java变量
1.java中如何定义变量的语言 数据类型 变量名:2.如何给变量赋值 语言 变量名=值:3.变量本质是什么. 本质就是内存中的一块空间,这块空间有‘类型’.“名字”.“值” int a;//在内存中 ...
- CSS:CSS 颜色
ylbtech-CSS:CSS 颜色 1.返回顶部 1. 颜色是通过对红.绿和蓝光的组合来显示的. 颜色值 CSS 颜色使用组合了红绿蓝颜色值 (RGB) 的十六进制 (hex) 表示法进行定义.对光 ...
- 转:Ubuntu12.04编译VLC,在linux上运行
Ubuntu12.04编译vlc2.1.0 1.编译环境 VM8.0.1 # gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAP ...
- 小程序rpx
rpx是微信小程序解决自适应屏幕尺寸的尺寸单位.微信小程序规定屏幕的宽度是750rpx, 微信小程序也支持rem尺寸单位,rem规定屏幕的宽度是20rem vw vh适配 vw和vh是css3中的新单 ...
- iOS 中这些是否熟练掌握——(2)
接上一篇博文,本篇博文是作者原创,用于记录从网上查阅的一些资料,并对自己的知识体系进行一下总结,成文以供学习使用. 1.Cocoa Touch 包含了什么?不包含什么?与 Cocoa 有什么区别? 相 ...
- Mertens
题意: 求解$\sum_{i=a}^b{\mu(i)}$. 解法: 由$(\mu * I)(n) = e(n)$ 得 $\sum_{d|n}{\mu(d)} = [n=1]$ 得 $\mu(n) = ...
- CF-831C
C. Jury Marks time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...