YYYYYY996
YYYYYY996
  • 发布:2020-12-07 15:59
  • 更新:2020-12-07 18:22
  • 阅读:1105

有啥监听globalData变化的方法么.或者监听其他组件值变化.

分类:uni-app

需求就是:

A组件点击按钮,改变getApp().globalData.aniStyle.
其他组件要自动监听这个getApp().globalData.aniStyle变化.


我页面有个收缩的导航菜单, 默认是 "三" 字型, 点开变成一个"X"型.

导航菜单时写在一个单独组件,click事件在这个组件里面.

        <view id="mobile-navbar" class='mobile-navbar' :class="{'fixed-open': aniStyle}">  
          <view class='mobile-navbar-icon'  :class="{'icon-click': aniStyle}" v-on:click="open_even"   >  
            <span></span>  
            <span></span>  
            <span></span>  
          </view>  
        </view>
    module.exports ={  
        data : function(){  
            return {  
                aniStyle:getApp().globalData.aniStyle,    
            }  
        },  
        methods: {  
            open_even: function(event){  
                getApp().globalData.aniStyle = !getApp().globalData.aniStyle;  
            }  
        },  
    }  

点击后,组件的data值不会随着globalData变化自动变化.
一定要在open_even函数里面添加
this.$data.aniStyle =getApp().globalData.aniStyle;
才有效.
而这个也只影响当前组件,无法影响兄弟组件,父组件.

其他兄弟组件,也需要根据这个getApp().globalData.aniStyle变化而变化.

2020-12-07 15:59 负责人:无 分享
已邀请:
DCloud_uniCloud_JSON

DCloud_uniCloud_JSON

你说的视乎就是vuex 详情

  • YYYYYY996 (作者)

    我去了解下.谢谢.

    2020-12-08 12:22

该问题目前已经被锁定, 无法添加新回复