Vue2.0 如何在没有v-for循环的情况下事件中获取到index?

RT

除了用原生,有没有什么Vue自带的方法和技巧?
感谢~

阅读 3.8k
4 个回答
var el = document.getElementById('container-id');

el.addEventListener('click', function(e) {    
    var p = e.target.parentElement;
    var index = Array.prototype.indexOf.call(p.children, e.target);
}

只是提供个思路


<div class="container" ref="containBox">
    <span @click="getIndex">test</span>   
    <span>test</span>
    <span>test</span>
    <span>test</span>
    <span>test</span>
</div>
export default {
    methods: {
        getIndex (e) {
            const parent = this.$refs.containBox.xxx 
            // 上面我忘记xxx是什么了,反正可以获取父元素,console.log(this.$refs)看看
            const index = Array.prototype.indexOf.call(parent.children, e.target)
            // ...
        }
    }
}

没有循环哪里来的index呢?? index是相对哪里的index呢

用原生 给li相同的class类名 document.queraySelectAlll来获取li数组 这下就有index了

没太明白你说的什么意思。。。。
没用v-for列表数据怎么加载出来的?按照dom找节点顺序号也要有dom节点啊。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题