vue中,在页面加载完成后,JS再写入带@click的HTML代码,此时如何让@click响应点击事件? 50

在页面加载前写入或者原来HTML就有的@click是可以正常响应事件的... 在页面加载前写入或者原来HTML就有的@click是可以正常响应事件的 展开
 我来答
匿名用户
2019-02-13
展开全部

直接在methods方法里面写你的点击事件函数

html

<template v-for="(item, index) in questionnaireList">
    <div class="questionnaire-section" @click="onSection(item.id)">
        <div class="title">{{item.title}}</div>
    </div>
</template>

js

var app = new Vue({
    el: '#app',
    data: {
        questionnaireList: [], //定义一个空数组
        currentPage: 1, //当前页
    },
    //加载完后自动执行
    mounted:function(){
        var that = this;
        that.questionnaireData(); //调用方法
    },
    methods: {
        questionnaireData:function () {
            var that = this;
            $.ajax({
                url: url + "questionnaire",
                type: "GET",
                data:{
                    currPage: that.currentPage
                },
                success:function (res) {
                    res.data.questions.map(function (item,index) {
                        that.questionnaireList.push(item);
                    });
                }
            });
        },
        
        //绑定的点击事件
        onSection:function (id) {
            console.log("你当前点击的栏目对应id是: " + id);
        },
    }
});
追问
这涉及到后端异步,虽然没回答正点,不过还是谢谢你的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式