网站中的公司地址怎么做,太原推广型网站开发,wordpress 结构化数据,唐山微信小程序开发公司4-2key设置-性能的保障
不能修改原数组的方法,如果想要修改原数组,就进行重新赋值
this.items this.items.filter((item) item.message.match(/Foo/))
keyCode键的值**key设置-性能的保障**提高性能,可以对比老的虚拟dom,一样的就留着,不一样就补上Vue默认按照就地…4-2key设置-性能的保障
不能修改原数组的方法,如果想要修改原数组,就进行重新赋值
this.items this.items.filter((item) item.message.match(/Foo/))
keyCode键的值**key设置-性能的保障**提高性能,可以对比老的虚拟dom,一样的就留着,不一样就补上Vue默认按照就地更新策略来更新通过v-for渲染的元素列表.当数据项的顺序发生改变时候,vue不会随着移动Dom元素的顺序,而是就地更新每个元素,确保他们在原本指定的索引位置上渲染
为了给vue一个提示,通常给他一个key值,作为唯一的key标识符(通常给的是id作为唯一的标识符),从而重用和重新排序现有的元素.
:keyitem.id唯一标识符
div v-foritem in data :keyitem.id/div虚拟Dom
{type: div,props: {id: container},children: [{type: span,props: {class: text1},children: hello },{type: span,props: {class: text2},children: kerwin},]
}真实dom
div idcontainerspan classtext1hello /spanspan classtext2kerwin/span
/div4-3数组的监听
vue能够侦听响应式的数组的变更方法,并且在他们被调用时触发相关的更新.这些变更的方法包括:
pop()push()unshift()shift()splice()sort()reverse()
对于一些不可变的数组,比如filter,concat,slice,map,这些都不会改变原数组,但是会返回一个新数组
当遇到的是非变更方法时我们需要将旧的数组替换为新的
this.items this.items.filter((item) item.message.match(/Foo/))4-4模糊搜索
方法一
!DOCTYPE html
html langen
headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0titleDocument/titlescript src../vue.js/script
/head
bodydiv idboxinput typetext v-modelsearchultemplate v-fordata in listli v-ifdata.includes(search){{data}}/li/template/ul/divscriptvar obj{data() {return {search:,list:[a,b,c,d,ad,ac,dd,fds,cf,da,vv,bb,vc,cv]}},}var appVue.createApp(obj).mount(#box)/script
/body
/html方法二
!DOCTYPE html
html langen
headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0title模糊搜索/titlescript src../vue.js/script
/head
bodydiv idboxinput typetext v-modelval ulli v-fordata in test(){{data}}/li/ul{{test()}}/divscriptvar obj{data() {return {val:,list:[a,b,c,d,ad,ac,dd,fds,cf,da,vv,bb,vc,cv]}},methods: {test(){return this.list.filter(item{return item.includes(this.val)})}},}var appVue.createApp(obj).mount(#box)/script
/body
/html5.事件处理器
5-1事件处理器
内联事件处理器
!DOCTYPE html
html langen
headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0titleDocument/titlescript src./vue.js/script
/head
bodydiv idbox{{count}}button clickAdd(1,2,$event)add1/buttonbutton clickadd2add2/buttonbutton clickcountadd3/button!-- 改变状态 --div v-ifisShow111111/divbutton clickisShow!isShowshow/hidden/button/divscriptvar obj{data() {return {count:1 ,isShow:true}},methods: {Add(a,b,event){console.log(a,b,event.target);},add2(event){console.log(event);}},}var appVue.createApp(obj).mount(#box)/script
/body
方法事件处理器
button clicktesttest/button5-2事件修饰符-事件偷懒符
.stop(阻止冒泡).self(只有事件源是自己的时候,才会触发).prevent(阻止默认行为).once(就执行一次,就不执行了).capture.passive 按键修饰符
.enter.tab.delete.esc.space.up.down.left.right
6.表单控件
6-1表单输入绑定
普通文本与多行文本 {{myText}}input typetext v-modelmyTexttextarea v-modelmyText/textarea记住用户名:使用布尔值
h1checkbox演示---记住用户名/h1div用户名:input typetext v-modelusernamediv记住用户名:input typecheckbox v-modelisRem/divbutton clicklogin()登录/button/div复选框:使用数组存储 h1checkbox-----多选框/h1divvueinput typecheckbox valuevue v-modelselectListreactinput typecheckbox valuereact v-modelselectList小程序input typecheckbox valueapp v-modelselectListJavainput typecheckbox valuejava v-modelselectListbutton注册/button/div单选框:使用字符串 h1radio-----最喜欢/h1divvueinput typeradio valuevue v-modelfavreactinput typeradio valuereact v-modelfav小程序input typeradio valueapp v-modelfavdivbutton注册/button/div下拉列表:使用value值
h1select -----下拉列表/h1select v-modelselectoption :value1已完成/optionoption :value2已取消/optionoption :value3已付款/option/select6-2表单修饰符
input事件,每次value改变,都会触发
change事件,失去焦点,并且内容发生改变
lazy:相当于变成了change事件 input typetext v-model.lazymyText 2…number用户输入自动转换为数字你可以在 v-model 后添加 .number 修饰符来管理输入
input v-model.numberage /number 修饰符会在输入框有 typenumber 时自动启用。
3.trim默认自动去除用户输入内容中两端的空格你可以在 v-model 后添加 .trim 修饰符
input v-model.trimmsg /