vue中动态添加html元素并绑定点击事件onclick

1,378 阅读1分钟
appendLeft(symptom){
    let leftHtml="";  
    //动态生成
    for(let i=0;i<symptom.length;i++){  
       leftHtml += '<div class="dialog-select-item">' +                    
         '<div class="newval" onclick="checkboxFun(this)">' + symptom[i].name+ '</div>' + 
       '</div>'
     }        
    let fatherHtml ='<div>'+leftHtml+'</div>';    
    //添加到页面 
    $(".self").append(fatherHtml); 
},

在methods中直接调用绑定的函数,是无法触发的

 //触发onclick事件
 checkboxFun(e){
      console.log(e)
 },

必须在created里执行下列绑定,才能执行methods里的方法

created(){
    let _this=this;
    window.checkboxFun=_this.checkboxFun; 
},