vue里面render函数click为啥不生效?

如下代码:为什么render函数里面的click不生效?

<!DOCTYPE html>
<html>
   <head>
       <meta charset="utf-8">
       <title></title>
       <script src="https://cdn.jsdelivr.net/npm/vue"></script>
   </head>
   <body>
       <div id="app">
           <child ></child>
       </div>
       <script type="text/javascript">
           Vue.component('child', {
               render: function(createElement) {
                   //createElement第二个参数是数据对象 ---只能是<object>
                   return createElement({
                       template: '<div>我是第一个选项</div>'
                   }, {
                       class: {
                           for: true,
                           onepice: false
                       },
                       style: {
                           color: "red",
                           fontSize: "17px"
                       },
                       //attrs里面的内容是src属性 
                       attrs: {
                           src: "http://www.baidu.com"
                       },
                   
                       on: {
                           click: () => {
                               console.log('点击事件')
                           }
                       }

                   })
               }
           });
           var app = new Vue({
               el: '#app',
           })
       </script>
   </body>
</html>
阅读 3.7k
1 个回答

需要用nativeOn监听,而不是on.
on:是组件上监听,需要 $emit 触发
nativeOn:仅用于组件,用于监听原生事件,而不是组件内部使用 $emit 触发的事件

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