[vue.js]如何在循环中对部分个体进行操作

这个问题困扰了我很久,甚至一度觉得vue.js真的是很让人头疼,可能也是因为我没有接触过太多前端模板的缘故。

搜到的方法试过以后觉得这个办法最好,在这里做一个记录。

 

总体思路:尽量遵从数据驱动的角度去处理。

具体方法:

① data里设定一个index不会取到的值例如 i:-1

② 绑定的methods中把index作为参数传入函数,并将index值赋值给i

③ 通过index 与 i 之间的关系来作为判断是否执行methods的依据

 

以我刚刚写到的代码为例

<html>

<li class="listblog-item" v-for="(item,index) in arrangeData[key][key2]">
                    
  <h3 @mouseover="beUnderline(index)" @mouseout="i=-1">

     <a v-bind:class="{ underline: index === i }" href="">{{ item.title }}</a>

  </h3>

</li>

<js>

data:{
  i:-1
},
methods:{
  beUnderline:function(index){   this.i = index }
}

以上代码实现的功能是 移到某一个li里的标题上时,只有该li的标题增加一个class,其余都不增加

 

 

-----------------------分割线------------------------

最近我还遇到的其他问题有:

因为在自己做一个博客,需要对文章内容进行逆序排列显示。比较特殊的是数据格式整理完大致是这样的:

var list = {
    2017:{
        9:[1,2,3],   //1,2,3代表文章的信息,这里不写全了,不会影响结果
        7:[1,2,3,4]
    },
    2016:{
        10:[1,2,3,4,5],
        9:[1,3]
    }
}

但是vue的v-for有点奇怪,无论我对象怎么排序,v-for出来的结果永远是2016在2017上面,7在9上面。。。

 

如果您知道怎么解决这个问题,还请您留言指点一二!

对于这篇博文如果您有更好/其他的思路、办法,也欢迎您留言!

望能不吝赐教!~~ 谢谢!~~~

 

转载于:https://www.cnblogs.com/espelansa/p/7623131.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值