求帮助,正在学vue,延时更新数据,但是DOM不更新

十步一景 2017-05-22 08:33:18
<!--banner部分-->
<section class="banner">
<img class="img-responsive" src="img/home_banner_02.jpg" alt=""/>
<ul class="about">
<li :class="{active:isActive}" @click="changeClass">关于公司</li>
<li :class="{active:!isActive}" @click="changeClass">点击下载APP</li>
<li class="bg" :class="{active:!isActive}"><b></b><b style="float:right"></b></li>
</ul>
<!--下载部分-->
<div id="download" :class="{show:isShow}" @click="hide">
<img class="img-responsive" src="img/download.png"/>
<ul>
<li @click="jump(111)"><div><i class="icon"></i>Android版下载</div></li>
<li @click="jump(111)"><div><i class="icon"></i>IOS版下载</div></li>
</ul>
p>
</div>
</section>

<script>
var about=new Vue({
el:".banner",
data:{
isActive:true,
isShow:false
},
methods:{
changeClass: function () {
if(this.isActive){this.isActive=false;}
else{this.isActive=true;}
},
hide: function () {
this.isShow=false;
},
jump: function (url) {
location.replace(url)
}
}
})
about.$watch("isActive",function(){
if(!this.isActive){
this.isShow=true;
// setTimeout(function () {
// return this.isShow=true;
// },350)
}
})
</script>

在$watch中吗,不用定时器就没问题,但是我需要让DOM延时更新(添加Class),用了定时器就没效果了,求大神帮助
...全文
486 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
似梦飞花 2017-05-22
  • 打赏
  • 举报
回复

var me=this;
            setTimeout(function () {
              return  me.isShow=true;
            },350)
this指向不对

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧