vue学习-computed,侦听数据,v-model

计算属性computed

<template>
  <div id="app">
   <h1>{{msg}}</h1>
   <h1>{{msg.split('').reverse().join('')}}</h1>
   <h1>{{reverseMsg}}</h1>
  </div>
</template>

<script>
//import HelloWorld from './components/HelloWorld.vue'

export default {
  name:'App',
  data:function(){
    return{
      msg:"HelloWorld"
    }
  },
  //可以将data里的数据,计算的结果缓存起来,在不修改msg的时候,计算得到的结果不会重新计算
  computed:{
    reverseMsg:function(){
      return this.msg.split('').reverse().join('')
    }
  }
}
</script>

监听数据,修改样式

<template>
  <div id="app">
  <!--:是属性的绑定,和v-bind:一样-->
   <h1 :style="styleObj">点击次数:{{num}}</h1>
   <button @click='addClick'>增加次数</button>
   
  </div>
</template>

<script>
//import HelloWorld from './components/HelloWorld.vue'

export default {
  name:'App',
  data:function(){
    return{
      num:0,
      styleObj:{}
    }
  },
methods:{
  addClick:function(){
    this.num++
  }
},
  watch:{
    num:function(newValue,oldValue){
      console.log("newValue:",newValue);
      console.log("oldValue:",oldValue);
      if(newValue>10){
        console.log("值大于10");
        this.styleObj={
          backgroundColor:"red"
          //或者"background-color":"red"
        }
      }
    }
  }
}
</script>

v-model表单输入绑定

<template>
  <div id="app">
        <input v-model="username" placeholder="请输入用户名" type="text">
        <h1>用户名:{{username}}</h1>
        <input type="checkbox" v-model="check">
         <h1>check:{{check}}</h1>
         <textarea v-model="article" id="" clos="30" rows="10"></textarea>
         <h1>textarea:{{article}}</h1>
  </div>
</template>

<script>
//import HelloWorld from './components/HelloWorld.vue'

export default {
  name:'App',
  data:function(){
    return{
       username:"",
       check:true,
       article:""
    }
  },
methods:{
  
}
}
</script>

结果:
在这里插入图片描述

MVVM 是一种前端架构设计模式,它将界面、数据和逻辑分离并通过 ViewModel 进行交互。在 MVVM 模式中,视图(View)和模型(Model)是完全独立的,它们通过 ViewModel 进行双向绑定(Binding)。 在 Vue.js 中,MVVM 模式被称为“响应式编程”,它的核心是数据劫持和发布订阅模式。Vue.js 的数据驱动视图,通过数据改变来更新视图,这些数据是被劫持的,也就是说,当数据发生变化时,Vue.js 会自动更新视图。 Vue.js 中的 MVVM 模式包含以下三个部分: 1. 视图层(View):负责展示数据,通常是 HTML 模板。 2. 模型层(Model):负责存储数据,通常是 JavaScript 对象。 3. 视图模型层(ViewModel):负责处理视图与模型之间的交互,它是一个纯粹的 JavaScript 对象,负责实现数据绑定、数据格式化、事件监听等功能。 在 Vue.js 中,我们可以使用指令(v-directive)来实现数据绑定。指令是一种特殊的 HTML 属性,它的通常是一个表达式,用来绑定指令所在元素的属性或事件。例如,v-bind 指令可以将一个 JavaScript 对象绑定到 DOM 元素的属性,v-on 指令可以监听 DOM 元素的事件。 除了指令之外,Vue.js 还提供了计算属性(Computed)和侦听器(Watch)等功能,用于处理数据的计算和监听数据的变化。 总之,MVVM 模式是一种前端架构设计模式,它通过 ViewModel 实现视图(View)和模型(Model)之间的双向绑定(Binding),实现了数据的自动更新和视图的响应式。在 Vue.js 中,MVVM 模式被称为“响应式编程”,它的核心是数据劫持和发布订阅模式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值