vue-问题:如何动态绑定函数

使用vue绑定函数其实很简单 直接 @click='function1' 就可以了。
不过在动态绑定函数的时候踩到了一个坑,比如

<div  @click="isTrue ? function1:null ">
    我是内容
</div>
data(){
    isTrue :true
},
methods:{
  function1 () {
      console.log(123)
  }
}

很明显,这个div绑定了function1 函数,但是这样根据条件绑定的函数并不能执行;
究其原因其实很简单,那就是click绑定的内容会被vue当做一段代码来执行,如果直接绑定了函数,那么在事件触发的时候回直接执行这个函数,相当于调用 function1()
那么这个三元运算绑定的函数不执行的原因也就明了了。事件触发的时候相当于执行了这个三元运算,返回了function1函数的内容(只是获得函数内容,没有执行)
那么解决办法也就出现了,在三元运算的true条件里 返回函数的调用而非函数名,如下:

<div  @click="isTrue ? function1():null ">
    我是内容
</div>
data(){
    isTrue :true
},
methods:{
  function1 () {
      console.log(123)
  }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 33、JS中的本地存储 把一些信息存储在当前浏览器指定域下的某一个地方(存储到物理硬盘中)1、不能跨浏览器传输:在...
    萌妹撒阅读 2,284评论 0 2
  • 一、了解Vue.js 1.1.1 Vue.js是什么? 简单小巧、渐进式、功能强大的技术栈 1.1.2 为什么学习...
    蔡华鹏阅读 3,540评论 0 3
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,980评论 0 3
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,536评论 0 2
  • 函数和对象 1、函数 1.1 函数概述 函数对于任何一门语言来说都是核心的概念。通过函数可以封装任意多条语句,而且...
    道无虚阅读 5,021评论 0 5

友情链接更多精彩内容