methods

函数是十分优雅的语言特性,它让我们可以采用可复用的方式存储一段逻辑,从而不用重复代码就可以在多处调用。函数、组件、模块等都有复用代码的考虑,函数应该是最早组织复用代码的实现。

vue中,函数被定义为方法来使用,配置在methods属性中,methods是一个对象,函数名和函数体分别作为methods对象的键值对。

new Vue({
el: "#app",
data: {
count: 0,
},
methods: {
increase: function () {
this.count++
}
}
})

在学习事件绑定指令v-on时介绍有几种写法,指令接收表达式写法,所以我们可以直接将简单的事件处理逻辑写在指令的表达式中。

<div id="#app">
<div>{{ count }}</div>
<button @click="count++">count+1<button>
</div>

但是在实现项目中,事件处理函数的逻辑往往都是比较复杂的,不可能向上面这样将处理逻辑写在HTML元素中,所以就可以定义函数,写在methods方法中。

<div id="app">
<div>计数:{{ count }}</div>
<button @click="increase">count+1</button>
</div>
methods: {
addOneDay() {
this.count++
}
},

this

this指向当前所处的组件,可以使用this访问当前组件的配置对象Optiins的所有属性值。并且经过vue的封装,可以直接打点调用某个属性值。比如:

var vm = new Vue({
el: "#app",
data: {
count: 0,
},
computed: {
double() {return this.count *2}
}
methods: {
addCount() {this.count++}
}
})

此时this指向这个vue实例vm。调用vm.data.count属性不需要this.data.count的写法,而是直接this.countthis.doublethis.addCount。在计算属性和方法或其它配置对象属性中使用也一样。

具体见vue作用域概念:全局和局部

最新文章

  1. NAT 网络地址转换
  2. 7.js模式-装饰者模式
  3. java线程生命周期及其对应方法
  4. 阅读Nosql代码有感
  5. 黄聪:wordpress如何获取当前分类页面的ID、名称、别名(slug)
  6. 《Cortex-M0权威指南》之Cortex-M0编程入门
  7. svn 清空
  8. 查网卡信息(千M o 万M)
  9. hive的安装步骤
  10. js 配置基础启动文件
  11. CentOS 6.4 64位 搭建MySQL-Cluster 7.3.8 集群
  12. JPEGOPTIM压缩优化
  13. Tomcat5.5.9+JSP经典配置实例
  14. bad interpreter:No such file or directory 解决方法
  15. git回退到某个历史版本
  16. [数据库锁机制] 深入理解乐观锁、悲观锁以及CAS乐观锁的实现机制原理分析
  17. Building QGIS from source - step by step(随笔2)
  18. HDU-1018 BigNumber(斯特林近似)
  19. nessus无法访问https://localhost:8834/#/,解决方法。
  20. js替换元素与设置时间间隔

热门文章

  1. appium处理混合APP_获取上下文(切换句柄)
  2. 如何mock https请求
  3. 【AtCoder Regular Contest 092】C.2D Plane 2N Points【匈牙利算法】
  4. Python学习之路4☞条件和循环
  5. InteractiveHtmlBom 在手机上无法显示 BOM List 和装配图的问题
  6. OpenJudge_1936:All in All
  7. 发布SaaS加速器:我们不做SaaS,我们只做SaaS生态的推进者和守护者
  8. AT2377 Blue and Red Tree
  9. Atcoder Tenka1 Programmer Contest D: IntegerotS 【思维题,位运算】
  10. SharpDX初学者教程第5部分:着色三角形