基本使用(概念)
1.vue的三大核心core,vuex(状态管理),vue-Router(路由),也称为VUE全家桶。
2. 每个页面可以拆分成多个组件(把一个页面或者一个功能分成几个模块)
3.每一个vue的实例都需要挂载在一个大的容器盒子里。
v-bind与v-model
1.v-bind是vue中提供用于绑定属性的指令,可以近些为:+要绑定的属性,v-bind中可以写合法的js表达式。
2.v-model用于数据的双向绑定,注意v-model只能运用在表单元素中。
二者的区别:v-bind只能实现数据的单向绑定,从M自动绑定到V,无法实现数据的双向绑定。
v-model可以实现表单元素和model中数据的双向数据板顶。
v-on
是事件绑定机制,缩写是@,如@click
vue的事件修饰符
1.使用.stop阻止冒泡:@click。stop值触发该目标事件
2.阻止默认行为:如a标签的跳转,@click.prevent
3..cpture:添加事件侦听器使用捕获模式,就是先触发捕获事件。
4..self只有点击当前元素的时候,才会触发事件的事件处理函数。
5.。once使用once事件只触发一次
self和stop的区别
self只会阻止自己身上的冒泡行为的触发,并不会真正阻止冒泡行为。
关于mvc与mvvm
mvvm是前端视图层的分层开发思想,主要把每个页面分成了M\V和vm,其中vm是mvvm思想的核心;因为vn是m和v之间的调度者。
M:这里的M保存的是每个页面中单独的数据(发送Ajax拿回来的数据)
V:就是每个页面中的html结构
vm:他是一个调度者,分割了M和V(每当V层想要获取后保存数据的时候,都要有VM做中间的处理),也就是说存取数据都要经过VM层。
前端页面中使用mvvm的思想,主要是为了让我们开发更加方便,因为mvvm提供了数据的双向绑定;注意:数据的双向绑定是VM提供的。
mvc与mvvm.png
关于object.creat和boject和define.properties
<button onclick="obj.fullName='ddwdwqdwqdd'">sdasdsad</button>
<script type="text/javascript">
let obj = {
firstName: "kobe",
lastName: "bryant"
}
//第二个括号就是对配置对象进行说明
Object.defineProperties(obj,{
//怎么去取obj中的值,使用get方法,return这个就是fullName想要设置的值,
//这个get方法谁调用?就是指定的obj方法去调用的,所以可以直接this点
fullName:{
get(){
return this.firstName+" "+this.lastName;
},
set(data){//监听扩展属性,当扩展属性发生变动时候自动调用,set里面的data接受的就是变动的值;
//如果没去改变fullname的值,则set方法不会被调用
//console.log(data);//打印出来maidi
let name="haha";
this.firstName=name;
console.log(data)
console.log(this.firstName)//haha
}
}
})
console.log(obj.fullName);//kobe brynt
console.log(obj.firstName)
//obj.fullName="maidi";
//console.log(obj.fullName);//没能修改fullname值,还是console kobe
let obj1={
firstName: "trcy",
lastName: "maidi",
get fullName(){
return this.firstName+" "+this.lastName;
},
set fullName(data){
console.log(data)
}
}
console.log(obj1);
obj1.fullName="mai111di";//这种方式consloe出来的值也是一样的,无权修改里面属性,需要调用set();
网友评论