Vue实例常用的4个选项

我们都知道,定义一个Vue实例的参数选项除了有el(指定挂载的DOM元素)、data(实例的数据)之外,还可以定义其他的参数。

今天我们讲Vue实例常用的4个参数选项:filters(过滤器)、computed(计算属性)、methods(方法)、watch(观察)

1、filters(过滤器)

第一个要讲的就是过滤器filters选项,那么为什么要有这个东西呢?首先,我们举个例子,假设我们有一组数字,并且都是小数,如下:

<script>
export default {
  name: 'HelloWorld',
  data () {
    return {
      number1: 3.1415,
      number2:31.415,
      number3:314.15
    }
  }
}
</script>

number1、number2、number3都是Vue实例的小数,我们把它展示在视图上:

<template>
  <div class="hello">
    <div> 数字1:{{ number1 }}</div>
    <div> 数字2:{{ number2 }}</div>
    <div> 数字3:{{ number3 }}</div>
  </div>
</template>

那么,现在突然改需求了,我们不能把小数展示出来,需要把小数转换成整数再显示。

这个时候我们需要把三个小数经过过滤处理后再展示,不能直接展示。这种情况我们就需要用到Vue的filters过滤器了。

下面我们来看看怎么用:

<template>
  <div class="hello">
    <div> 数字1:{{ number1|toInt }}</div>
    <div> 数字2:{{ number2|toInt }}</div>
    <div> 数字3:{{ number3|toInt }}</div>
  </div>
</template>

<script>
export default {
  name: 'HelloWorld',
  data() {
    return {
      number1: 3.1415,
      number2: 31.415,
      number3: 314.15
    }
  },
  //过滤器
  filters:{
    toInt(val){
      return parseInt(val);
    }
  }
}
</script>

ffilters属性,它的值是一个对象,里面定义了一个叫toInt()的方法,传入了一个val的参数,函数的作用就是把传入的参数val,简单地转成一个整数并return回去;

接着我们通过管道符' | '把函数toInt放在变量后面即可,number1、number2、number3会分别作为参数val传入toInt(val)方法进行运算,并返回一个整数。

运行后,得到结果如下:

根据结果可以看出,成功过滤转换成整数。

2、computed(计算属性)

有时候,我们拿到一些数据,需要经过处理计算后得到的结果,才是我们要展示的内容。
比如:我们有三个数,但是需要展示的是三个数字之和。这种情况,就适合用我们的计算属性computed。

计算属性 computed 的定义语法和过滤器 filters类似,但是用法不一,如下:

<template>
  <div class="hello">
    <div> 总和:{{ sum }}</div>
  </div>
</template>

<script>
export default {
  name: 'HelloWorld',
  data() {
    return {
      number1: 3.1415,
      number2: 31.415,
      number3: 314.15
    }
  },
  //计算属性
  computed:{
    sum(){
      return this.number1+this.number2+this.number3;
    }
  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>

</style>

 

3、methods(方法)

顾名思义,在methods中,我们可以定义一些方法,供组件使用。
比如,我们定义一个数据msg,当用户点击按钮的时候,msg的值加1。这种情况,我们可以利用methods 来实现。

定义一个plus()的方法在methods中,下面我们把plus()绑定在按钮的点击事件上。
在 Vue 中通过v-on:指令来绑定事件,我们点击按钮,methods中的方法plus()就会被调用,实现给msg的值加1,并更新视图。

<template>
  <div class="hello">
    <div>{{ msg }}</div>
    <button @click="plus">加1</button>
  </div>
</template>

<script>
export default {
  name: 'HelloWorld',
  data() {
    return {
      msg: 0
    }
  },
  //方法
  methods: {
    plus() {
      return this.msg++;
    }
  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>

</style>

 

4、watch(观察)

watch 选项是 Vue 提供的用于检测指定的数据发生改变的api。
上面点击按钮msg的值加1的例子,不就是数据发生变化了吗?我们就用watch 选项来监听数字msg是否发生了变化,如果监听到了变化,我们就在控制台输入msg的最新值。
在上个例子的代码基础上,我们加上watch 部分的代码:

<template>
  <div class="hello">
    <div>{{ msg }}</div>
    <button @click="plus">加1</button>
  </div>
</template>

<script>
export default {
  name: 'HelloWorld',
  data() {
    return {
      msg: 0
    }
  },
  //方法
  methods: {
    plus() {
      return this.msg++;
    }
  },
  //观察
  watch: {
    msg() {
       console.log('有变化了,最新值:');
       console.log(this.msg);
    }
  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>

</style>

最后一部分watch就是我们新加的代码,msg()表示我们要观察监听的就是数据msg,我们看运行结果:

看到了,我们点击按钮的时候,msg的值加1发生了变化,而此时watch监听到了它的变化,便在控制台输出了我们指定的内容。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Vue实例Vue应用的基本单位,它是Vue的核心概念之一。学习Vue实例需要掌握以下几个方面: 1. 创建Vue实例:在Vue应用,我们需要先创建Vue实例。可以使用Vue构造函数来创建一个新的Vue实例,如下所示: ``` var vm = new Vue({ // 选项 }) ``` 在创建Vue实例时,需要传入一个选项对象。选项对象包括data、methods、computed、watch、el、template等属性,这些属性用于定义Vue实例的行为。 2. 数据绑定:Vue实例的数据可以通过数据绑定的方式渲染到页面上。数据绑定可以使用双向数据绑定或单向数据绑定,如下所示: ``` <div>{{ message }}</div> ``` 在Vue实例,我们可以使用data属性来定义数据,如下所示: ``` var vm = new Vue({ data: { message: 'Hello Vue!' } }) ``` 在模板,可以使用 {{ }} 或 v-bind 指令将数据绑定到DOM元素。 3. 实例方法和生命周期钩子:Vue实例提供了一些实例方法和生命周期钩子函数,用于处理Vue实例的行为。常用实例方法包括 $watch、$set、$delete、$emit等,常用的生命周期钩子函数包括 created、mounted、updated、destroyed等。 4. 计算属性和侦听器:Vue提供了计算属性和侦听器来处理数据的变化。计算属性是基于已有数据计算出新数据的方式,而侦听器则可以监听数据的变化并执行相应的操作。如下所示: ``` var vm = new Vue({ data: { firstName: 'John', lastName: 'Doe' }, computed: { fullName: function () { return this.firstName + ' ' + this.lastName } }, watch: { firstName: function (val) { console.log('First name changed to: ' + val) } } }) ``` 在上述代码,computed属性用于定义计算属性,watch属性用于定义侦听器。 5. 实例销毁:在Vue应用,需要注意实例的销毁。当Vue实例不再需要时,需要手动调用 $destroy 方法来销毁实例,以便释放内存等资源。如下所示: ``` vm.$destroy() ``` 掌握了以上Vue实例的基本知识,您就可以开始创建Vue应用了。同时,建议您多阅读Vue官方文档和社区博客,以便更好地理解Vue实例的用法和使用方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端报刊

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值