在开发中,我们经常需要用到函数, 通过将一些需要复用的逻辑封装在函数里,多次调用这个函数来达到逻辑代码复用的目的.

在vue中,函数被定义成为方法来使用,这些方法定义在methods属性中,然后就可以在vue 表达式中调用函数

1. 定义方法

vue 选项对象中有一个叫methods的属性.这个属性里面专门来存放一些函数,用来给别人调用

const vm = new Vue({    el: "#app",    data: {        status: 2    },    methods: {        // 这里面是用来存放函数,这里面的函数会自动成为vue实例的方法        statusDoing(id){            var doing = ["睡觉","吃饭","学习Vue"];            return doing[id]        }    }})

2. 方法的调用

之前有起到过Mastache语法中可以使用JavaScript表达式,所以我们可以在Mastache语法中调用函数

<div id="app">    {{ statusDoing(status) }}</div>

方法除了可以在Mastache 表达式中使用外,还可以在任何可以使用Javascript表达式中都可以使用,我们慢慢了解

3. 方法中的this指向

在方法中,this指向该方法所属的实例,可以使用this访问data中的属性或者其他方法

<div id="app">    {{ statusDoing() }}</div><script>       const vm = new Vue({        el: "#app",        data: {            status: 2        },        methods: {            statusDoing(){                var doing = ["睡觉","吃饭","学习Vue"]                                // 通过this 获取到实例对象,来拿到data中的数据                return doing[this.status]            }        }    })</script>

注意, 方法不能使用箭头函数,因为箭头函数的this不是Vue实例, 未来我们在方法中可能会大量使用到Vue实例对象中的属性. 比如获取数据,或者调用其他方法, 如果我们使用了箭头函数就会丢失this,只能通过Vue实例对象来获取

详细的部分我们会在事件中提及;

4. 关于方法响应式

使用方法对数据进行过滤

<div id="app">    <!-- 原数组 -->    <h2>原数组</h2>    {{numbers}}    <h2>使用方法过滤后的数组</h2>    {{ filterNum() }}</div><script>       const vm = new Vue({        el: "#app",        data: {            numbers: [10,20,-12,15,-10,22]        },        methods: {            filterNum(){                // 过滤数组函数                return this.numbers.filter((number) => {                       return number >= 15                })                  }        }    })</script>

这个时候改变numbers数据,

vm.numbers = [22,11,13,19,18,10,17]

就会发现, 方法过滤后的数据也发生了变化

所以我们前面讲data属性时提到的数据响应式变化,在方法里同样有效果, 数据变化触发了Vue响应系统, 进而触发函数重新执行.

Vue选项: Methods方法相关推荐

  1. Vue入门 methods方法

    methods方法:为什么加s,因为可以定义多个方法 methods选项表示:当前Vue实例可以用到的方法 methods选项的值:对象,对象中定义方法 methods{ //定义时间处理方法show ...

  2. 在vue开发中会遇到methods方法里有一个函数嵌套另一个函数,最内层函数this取不到data数据,该怎么解决?

    一,问题 在vue的methods方法中两个函数互相嵌套,最内层函数this取不到data数据 二,原因 this的指向问题 三,解决方法 (1)给最外层函数this重新赋值给一个变量 methods ...

  3. 在vue中methods互相调用的方法

    在vue中methods互相调用的方法 转载于:https://www.cnblogs.com/macT/p/10212878.html

  4. vue中的方法 methods 定义时不要使用箭头函数

    今天在vue中引入vuex的时候出现了错误,解决了一个多少时,总结如下: vuex 的使用: vuex就是一个状态管里中心 也好比一个仓库 细分可分为五个部分,这是我不考虑 module 分别是 st ...

  5. 解决vue中无法取得methods方法中的return值

    解决vue中无法取得methods方法中的return值 参考文章: (1)解决vue中无法取得methods方法中的return值 (2)https://www.cnblogs.com/betty- ...

  6. Vue中的methods方法

    在 methods 中定义方法 我们可以使用 methods 属性给 Vue 定义方法,methods 的基本语法: var vm = new Vue({methods:{// 在此时定义方法,方法之 ...

  7. Vue中的methods方法使用技巧,三分钟迅速读懂

    1.methods方法应用场景: 在Vue中,我们需要调用某个方法时,我们需要先将这些方法定义在methods属性中,然后才能在vue 表达式中调用该方法. 2.methods方法的使用方法 语法定义 ...

  8. vue的methods中方法写法

    vue的methods中存放方法,写法有aaa(){ }和bbb:function(){ } methods:{ // key:value key是方法名,value是function aaa(){ ...

  9. Vue获取methods中方法的return返回值

    Vue获取methods中方法的return返回值 1. 遇到的需求 需要调用methods中的一个方法直接使用return返回值: 但直接使用return关键字是undefined,无法直接拿到返回 ...

最新文章

  1. 在React Hook里使用history.push跳转
  2. SAP MM 可以通过STO在公司间转移质检库存?
  3. 手机php文件怎么改后辍,php修改文件后缀名的方法
  4. ACE网络编程模式比较
  5. mysql blob 内容查看_这些被你忽视的MySQL细节,可能会让你丢饭碗!
  6. 深入分析Spring 与 Spring MVC容器
  7. c#学习-base和this在构造函数中的应用
  8. 2021 ZUST,XCPC选拔赛
  9. asp.net core 支付宝支付( 电脑2.0)
  10. Vue:vue中axios发起http请求报错net::ERR_CERT_DATE_INVALID
  11. [CareerCup] 17.1 Swap Number In Place 互换位置
  12. vue3.0 案例小demo
  13. 【layUI时间控件使用】:按钮显示时间并放到输入框
  14. UPC6615: Snuke Festival
  15. walking机器人仿真教程-应用-多点导航结合睡眠功能实现智能取药
  16. android studio代码格式化设置,Android studio kotlin代码格式化操作
  17. go每日新闻(2021-04-01)——令牌桶的实现 rate/limt
  18. java项目——防止羊毛党“薅羊毛”
  19. free ***是什么
  20. 超市服务器软件系统软件,星宇超市收银软件服务器

热门文章

  1. C#反射类读取配置表 PropertyInfo
  2. 阿里巴巴Java代码规范
  3. 我是一名程序媛,今天不聊工作咱说说宝宝英语启蒙的事儿
  4. 高并发高可用处理大数据量
  5. 直播网络质量检测流程
  6. 一个企业级数据挖掘实战项目|教育数据挖掘
  7. 设置Cookie/使用Cookie
  8. tolower函数什么意思c语言,tolower ()在c语言中是什么意思
  9. 排序算法的时间复杂度
  10. 【soft6星评论】科创板火速推出的背后