需求就是:
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变化而变化.
YYYYYY996 (作者)
我去了解下.谢谢.
2020-12-08 12:22