vue语法、安装vite、property 组件属性、计算属性 watch深度监听

本文介绍了如何安装Vite,包括对npm的不同版本处理方式,以及初始化Vue项目。接着,讲解了Vue组件的属性如methods,props,computed,还涉及了Vue的插值、指令如v-once,v-html,v-bind及其语法糖,以及动态参数和事件。此外,还讨论了Date属性、计算属性的缓存机制和watcher的深度监听。
摘要由CSDN通过智能技术生成

安装vite

首先需要安装node.js,因为需要使用到npm
在终端
在这里插入图片描述
安装成功 (App.vue为根组件)

npm版本为6.x npm init vite@latest 项目名 --template vue
npm版本为7+ npm init vite@latest 项目名 -- --template vue
查看npm版本 npm -v
cd 项目名
npm install 简写npm i
npm run dev

创建好的一个项目在关闭后,再次打开的步骤

打开目标项目文件夹路径下的集中终端,输入指令npm run dev即可。

property 组件属性

组件methods,props,computed,inject和setup等。组件实例的所有property。无论如何定义,都可以在组件的模板中访问。

Vue语法

插值:文本
Mustache(双大括号{{ }})
替换为相应组件实例中 msg 属性的值。同时每次 msg 属性更改时它也会同步更新。

指令
v-once :只渲染一次,数据改变时,插值处的内容不会更新
<p v-once >{{ uname }}</p>
v-html :让内容以html的形式显示。
<p v-html="方法名"></p>
v-bind :动态绑定属性的内容
<p v-bind:id="id">v-bind绑定</p>
<img v-bind:src="url" alt="">

语法糖 :

<p v-bind:id="id">v-bind绑定</p>===<p :id="id">v-bind绑定</p>
v-bind: 语法糖 :
v-on: 事件语法糖 @

JS表达式写法

<button @click="id='d2' ">改变颜色</button>
等于
<button @click="c">改变颜色</button>
methods:{
c(){
this.id='d2'
 }}
 
<!-- 动态参数 -->
<!-- 动态属性 -->
<p  v-bind:[id变量名]="id">v-bind绑定</p>
<!-- 动态事件 -->
<button @[点击事件变量名]="id变量名='class'">改变为class属性</button>
<button @click="点击事件变量名='mouseover'">改变事件</button>

Date property 和方法

在后端还没有传回值的时候定义一个初始值在Date中
age来接受后端返回回来的值。先定义一个初始值0
age:0

方法为
methods
在methods写方法时不要写箭头函数。

计算属性

只要依赖值不变,那么就不会重新计算。因为有缓存,再次计算的话,会取缓存不需要再次计算,默认为getter方法只读,每一个计算属性都有一个getter与setter

computed:{  //计算属性将基于它们的响应依赖关系缓存
  // 简写
 reverseMsg(){
   console.log("计算属性");
   return this.message.split('') .reverse().join("")
 },
// 每一个计算属性都有一个getter和setter
  <p>{{ message }}</p>中写计算属性。
  <!--js表达式 -->
  <p>{{ message.split('') .reverse().join("")}}</p>
  <!-- 计算属性 -->
  <p>{{ reverseMsg }}</p> //不用写()来调用
  <!-- 使用methods中的方法 -->
  <p>{{ reverseMessage() }}</p>

请添加图片描述

watch(侦听器)

watch监听不到对象的属性变化,就需要深度监听
newValue,oldValue 新的数据 老的数据
immediate:true,//初始化的时候调用函数
deep:true,//侦听器会监听对象一层一层向下遍历给对象

watch:{ //监听数据的变化
message(newValue,oldValue){
  console.log(newValue);
  console.log(oldValue);
  // 执行异步操作,或者复杂逻辑代码
}
},

深度监听

// 深层监听
message:{
  immediate:true,//初始化的时候调用函数
  handler(newValue){
    if(newValue.length<5 || newValue.length>10){
      console.log('输入框的内容不能小于5或者大于10');
  }
}
},
// 监听不到对象的属性变化,需要使用到深度监听deep
// user:{ 
//   handler:function(newValue){
//     console.log(newValue);
//   },
//   deep:true,//侦听器会监听对象一层一层向下遍历给对象
// }


"user.name":{//“ ”使用字符串的形式进行优化,只会单独监听对象中对应的属性
  handler:function(newValue){
    console.log(newValue);
  },
  deep:true,//表示是否深度监听
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值