[Day27] Vue 3 - 方法

今天练习到 Vue 里面的 methods(方法),过去使用纯 JS 监听事件触发後,就会透过函式来做一连串的取值操作,而 methods 就是收集各种方法的区块。


Methods

先来看一段程序码

// JS
const vm = Vue.createApp({
  data () {
    return {
      money: 100,
      times: 100
    }
  },
  methods: { //此处开始为 methods 区域
    rewards () {
      return this.money * this.times;
    }
  }
}).mount('#app');
// HTML
<div id="app">
  <p> 投入: {{ money }} 元</p>
  <p> 倍率: {{ money }} </p>
  <p> 奖金: {{ rewards() }} 元</p> <!--此处呼叫 methods方法-->
</div>
  • 在 methods 中要使用 data 里面的属性需要使用 this 来存取。
  • 在 HTML 使用 methods 时需要有小括号(函式的方式),也可以设计成带参数的方式执行。

Computed

Computed 和 Methods 写法可以说是一模一样,下面是一段范例:

// JS
const vm = Vue.createApp({
  data () {
    return {
      money: 100,
      times: 100
    }
  },
  computed: { // 这里不一样而已
    countRewards () {
      return this.money * this.times;
    }
  }
}).mount('#app');

Methods 与 Computed 差异比较

  • 两者的差异在於, computed 会把计算後的结果暂存起来,如果里面使用的资料没有变动,就不会重复执行;反之,methods 只要在 HTML 里面被使用几次就会执行几次。

  • 在实际使用上,如果是相同的计算重复使用,可以使用 computed 来节省效能。

  • computed 的缺点是无法带入参数,所以在设计时需考量,如果有有带入参数的需求,就应使用 methods。


<<:  Re: 新手让网页 act 起来: Day20 - React Hooks 之 useContext 与 createContext

>>:  [神经机器翻译理论与实作] 从头建立英中文翻译器 (I)

【领域展开 11 式】网站制作中,请 Google 不要搜寻到我 > <

网页施工中,请稍後再回来 虽然昨天将子母主题做汇入,本来今天预定要选定主题做汇入,但是在参考两篇文章...

Day 12「可恶想要」单元测试、Code Smell 与重构 - Feature Envy 篇

图片来源:https://disp.cc/b/115-9Z5x 从这一篇起,我们会一连进行几篇跟「...

14 - tig - git 的文字介面

Git 是开发者们最常接触到的工具之一,大部分的专案都使用它作为版本控制的工具。使用者可以直接用 g...

<Day13> Ticks — 取得股票(Stock)逐笔成交资料

● 接下来这几章会示范如何取得想要的Ticks资料 什麽是Ticks? "Tick&quo...

Day27 ( 高级 ) 小画家 ( 舞台上画图 )

小画家 ( 舞台上画图 ) 教学原文参考:小画家 ( 舞台上画图 ) 这篇文章会介绍,如何在 Scr...