请问loading组件中的loadingText变量

请问loading组件中的loadingText变量

loadingText是在data()中定义并赋值的,请问如果父组件传过来的text值发生变化了,在data中定义的loadingText仍然不会主动变化么,能不能请问下什么样的变量是不需watch,可以自动改变值呢?非常感谢!

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,那是因为有setText这个函数且又监听的的情况下,你现在吧setText这个函数去掉了,又把箭筒去掉,就没有把text赋值给loadingText的这一步了,所以不会改变。

祝学习愉快!

  • hpbrave 提问者 #1
    明白了,谢谢!
    2018-11-30 11:27:45
好帮手慕糖 2018-11-29 15:17:13

同学你好,因为这里直接显示的值是loadingText,并不是父级传递来的这个,所以是需要来监听下改变。

祝学习愉快!

  • 提问者 hpbrave #1
    明白这个意思了,就是页面上的并不是text,而是被text赋值的loadingtext。想问一下,在您上一个回复中说的“这里loadingText默认是接收的传递过来的text,所以是会loadingText是会随着改变的”这个是什么意思呢?因为页面中的loadingText没有随着text的改变而改变啊(在没有watch的情况下)非常感谢!
    2018-11-29 19:59:13
好帮手慕糖 2018-11-29 11:18:55

同学你好,1、这里loadingText默认是接收的传递过来的text,所以是会loadingText是会随着改变的。

2、watch是监听父组件传递过来的这个值是否发生变化的,以下拉为例,下拉我们传递的是pullDownText ,这里我们并没有直接改变下拉这个值,所以是不会触发这个监听事件的,假设:如下,我们着这里换一个值(换过之后不要刷新,刷新的话,等于重新开始了,无法监听改变,换过之后下拉即可。),或者直接不传递的情况下(会采用默认值),才会触发这个监听事件。

http://img1.sycdn.imooc.com//climg/5bff5af70001283f07560078.jpg

http://img1.sycdn.imooc.com//climg/5bff5b050001fdfa05880113.jpg

http://img1.sycdn.imooc.com//climg/5bff571a00017d5404220114.jpg

http://img1.sycdn.imooc.com//climg/5bff57320001948008370050.jpg

但是由于这里还有在下拉的过程中还是有setText这个函数的调用,所以页面的显示效果还是会是正常的。因为我们显示到页面的是loadingText这个。

http://img1.sycdn.imooc.com//climg/5bff57690001db0c03500097.jpg

这里稍微有点绕,同学可以理下思路,测试下,结合结果来理解。

希望能帮助到你,祝学习愉快!

  • 提问者 hpbrave #1
    非常感谢图文并茂的回复。我试了一下,当在scroll组件中不用setText函数,而直接改变text的值时,子组件中如果没有watch函数,则子组件中的loadingText值不会变,如果有,则会跟着变。那是不是在任何情况下,子组件中的值,必须要用watch才能跟着父组件改变呢?
    2018-11-29 12:35:48
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
热门框架Vue开发WebApp 18版
  • 参与学习           人
  • 提交作业       209    份
  • 解答问题       3299    个

本路径是通过ES6基础知识、运用Zepto、Swiper、fullPag等移动端常用工具包、以及当下流行框架Vue,结合多个实战案例,还原真实开发场景,最终实现手机端购物商城网页开发。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师