欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > Java整理13

Java整理13

2024/11/30 8:36:03 来源:https://blog.csdn.net/shf1730797676/article/details/140715710  浏览:    关键词:Java整理13

1、响应式

将一个普通数据转换成响应式数据2种方式
(1)ref函数		适合单个变量
import {ref} from 'vue'
let counter =ref(10)
在script中操作ref响应式数据需要用.value
在template中,操作响应式数据无需用.value	
(2)reactive函数		适合函数
import {ref,reactive} from 'vue'
let person = reactive({name:" ",age:10	
})
reactive响应式数据无论script或template中都是直接使用:对象名.属性名 样式
toref函数:将reactive响应式数据中的某个属性转换成ref响应式数据
torefs函数:将reactive响应式数据中的多个属性转换成ref响应式数据
let p_age=toref(person,'age')
import {ref,reactive,toref,torefs} from 'vue'
let {name.age}=torefs(person)

2、条件渲染

v-if=表达式	表达式返回真值时才会被渲染,返回false元素不在dom树中,v-else与v-if一起使用,
v-show="  "数据为false,元素还在dom树中,通过设置css样式中的display来隐藏。
列表渲染:v-for:let items=reactive([{id:"item1",messgae:"可乐"}{id:"item2",message:"炸鸡"}])<ul>		//(item,index)<li v-for="item in items" v-bind:key="item.id">{{index+1}}{{itm.message}}</li></ul>

3、双向绑定

splice(下标,个数n):从下标处开始清除n个元素
双向绑定一般用于表单标签页面数据修改也会修改相应的响应式数据
v-model:value="数据"
<script>let message=ref("zhang")
</script>
<template><div><input type="text" v-model="message"></div>
</template>

4、数据监听器

watchimport {ref,reactive,watch} from 'vue'
watch(属性名,(newvalue,oldvalue)=>{ ref })
watch(()=>lastname.name,(newvalue,oldvalue)=>{ reactive })	单个属性
watch(()=>lastname,(newvalue,oldvalue)=>{ 操作 },{deep:true,immediate:true})	immediate页面加载完成立即执行一次	多个属性
WatchEffectimport {WatchEffect} from 'vue'WatchEffect(()=>fullname.value[ref类型]=firstname.value[ref类型]+lastname[reactive类型] })	

5、生命周期钩子函数

import {ref,onBeforeMount[挂载之前],onMounted[挂载完成],onBeforeUpdate[更新之前],onUpdate[更新之后]} from 'vue'
Vue组件(.vue文件,一个文件是一个组件)
组件之间参数传递(1)父传子(2)子传父(3)兄弟传参		子1传父,父再传子2
defineEmits:定义向父组件提交数据的事件以及正式提交数据
import {defineEmits} from 'vue'
const emits=defineEmits(["sendMenu_事件名"])
function send(data)
{emits("sendMenu",data)		子1传父
}接收子组件的数据		receiver()		父接收子1
let menu=ref("")
function receiver(data)
{	menu.value=data	}<Content:message_参数名="menu_参数类型"></Content>		父传子2接收父组件的参数							子2接收父
import {defineEmits} from 'vue'
define props({	参数名:参数类型  }message:string
)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com