vue 中拼接html时添加点击事件


<main>
    <div ref="HTML"></div>
</main>
<script>
    created() {
        this.createHtml();
      },
      methods: {
          cesi1() {
            // 这里是因为v-html里的东西,调不到this.methods的东西,因为methods里的代码是编译后在浏览器里运行的,
            // 内容按普通 HTML 插入 - 不会作为 Vue 模板进行编译。
          alert("这里不会调用");
        },
        createHtml() {
         var str = `
            <ul>
              <li style="color:red" onclick="cesi1()">测试</li>
            </ul>
          `;
          this.$refs.HTML.innerHTML += str
          // 解决的方式有很多中大家可已自行百度,例如使用事件代理
          // 因为绑定的是原生事件本实例采纳的是以下解决方式
         function cesi1(){
             console.log('完美解决');
         }
        //  window.cesi1=function(){
        //      console.log('完美解决');
        //  }
        }

}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM