加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

vue的计算属性有什么用?怎样运用?

发布时间:2022-01-08 07:54:04 所属栏目:语言 来源:互联网
导读:本文给大家分享vue的两个属性,分别是vue的计算属性和vue的侦听属性,那么究竟vue的计算属性和侦听属性有什么用呢?如何运用?接下来我们一起了解看看。 计算属性 计算属性用于处理复杂的业务逻辑 计算属性具有依赖性,计算属性依赖 data中的初始值,只有当
    本文给大家分享vue的两个属性,分别是vue的计算属性和vue的侦听属性,那么究竟vue的计算属性和侦听属性有什么用呢?如何运用?接下来我们一起了解看看。
 
    计算属性
 
    计算属性用于处理复杂的业务逻辑
 
    计算属性具有依赖性,计算属性依赖 data中的初始值,只有当初始值改变的时候,计算属性才会再次计算
 
    计算属性一般书写为一个函数,返回了一个值,这个值具有依赖性,只有依赖的那个值发生改变,他才会重新计算
 
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>表单输入绑定</title>
</head>
<body>
 <div id="app">
 
  {{ reverseMsg }}---- {{ reverseMsg }}-------- {{ reverseMsg }} //直接使用计算属性中的函数就是所要的数据
 
 </div>
</body>
<script src="vue.js"></script> //vue的js,不然使用不了vue语法
<script>
 const app = new Vue({
  el: '#app',
  data: {
   msg: 'hello world'
  },
  computed: {
   reverseMsg () { // 计算属性是一个函数,返回一个值,使用和data中的选项一样
    console.log('computed') // 执行1次 --- 依赖性
    return this.msg.split('').reverse().join('');
   }
  }
 })
</script>
</html>
    侦听属性(监听属性)
 
    vue提供了检测数据变化的一个属性 watch 可以通过  newVal 获取变化之后的值
 
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>表单输入绑定</title>
</head>
<body>
 <div id="app">
  <input type="text" v-model="firstname"> + <input type="text" v-model="lastname"> = {{ fullname }}
 
 </div>
</body>
<script src="vue.js"></script>
<script>
 const app = new Vue({
  el: '#app',
  data: {
   firstname: '李',
   lastname: '小龙',
   fullname: '李小龙'
  },
  watch: { // 侦听属性
   firstname (newVal, oldVal) { // newVal变化之后的值
    this.fullname = newVal + this.lastname // 当改变 姓 的时候执行
   },
   lastname (newVal, oldVal) {
    this.fullname = this.firstname + newVal // 当改变 名字 的时候执行
   }
  }
 })
</script>
</html>

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!