搜索

首页  >  问答  >  正文

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

RT

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

phpcn_u1582phpcn_u15822742 天前631

全部回复(4)我来回复

  • 怪我咯

    怪我咯2017-05-19 10:31:29

    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);
    }
    

    只是提供个思路


    <p class="container" ref="containBox">
        <span @click="getIndex">test</span>   
        <span>test</span>
        <span>test</span>
        <span>test</span>
        <span>test</span>
    </p>
    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)
                // ...
            }
        }
    }

    回复
    0
  • 大家讲道理

    大家讲道理2017-05-19 10:31:29

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

    回复
    0
  • 仅有的幸福

    仅有的幸福2017-05-19 10:31:29

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

    回复
    0
  • 巴扎黑

    巴扎黑2017-05-19 10:31:29

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

    回复
    0
  • 取消回复