初识Vue2

什么是Vue?

Vue.js(通常简称为Vue) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

Vue的特点

  1. 遵循MVVM模式
  2. 编码简洁,体积小,运行效率高,适合移动/PC端开发
  3. 它本身只关注UI,可以引入其它第三方库开发项目

Vue周边库

vue-cli:vue脚手架
vue-resource
axios
vue-router:路由
vuex:状态管理
element-ui:基于vue的UI组件库(PC端)

引入外部js文件中变量的方式:

js文件中:
写法一:分别暴露

export let uname="张三";
export let age=18;

写法二:统一暴露

let uanme ="张三";
let age=10;
function fun(){
 console.log("js模块化")
}
export {uanme,age,fun}

写法三:默认暴露

export default{
	uanme:"张三",
	age:17,
	obj:{
    	oName:"132456"
	}
}

html页面中如何使用:
导入模块

import * as m1 from "./moduleTest.js"

分别暴露和统一暴露的使用方式

console.log(m1.uname);
m1.fun;

默认暴露的使用方式

console.log(m1.default.uname);
console.log(m1.default.age);
console.log(m1.default.obj);
console.log(m1.default.obj.oName);

解构赋值

数组的解构赋值

let arr=["铁甲小宝","塞罗埃特曼","米奇妙妙屋","神兵小将"];
let [tie,sia,mi,miqi]=arr;
console.log(tie);
console.log(sia);
console.log(mi);
console.log(miqi);

简单对象的解构赋值

let obj={
    uname:"铁甲小宝",
    age:10
}
let {uname,age}=obj;
console.log(uname);
console.log(age);

复杂对象的解构赋值

// 写法一
// let {uname,age,arr}=obj;
// console.log(uname);
// console.log(age);
// let [a,b,c]=arr;
// console.log(a);
// console.log(b);
// console.log(c);

// 写法二
let {uname,age,arr:[a,b,c]}=obj;
console.log(uname);
console.log(age);
console.log(a);
console.log(b);
console.log(c);

…rest参数与…扩展运算符

…rest参数:不确定参数数量时使用(rest参数只能放在最后)

//情况一
function fun(...num) {
    console.log(...num);
}
fun(1, 2, 3, "adadaddad");
//情况二
function fun(a, b, ...num) {
    console.log(a, b, ...num);
}
fun(1, 2);

…扩展运算符:

// 展开数据
// let arr1 =[1,2,3,4];
// let arr2 =[4,5,6,7];
// console.log(arr1,...arr2);

// 展开对象
// 展开对象时,如果对象中的属性名一样,后面的属性会覆盖前面的属性
let obj1 = {
    uname1: "姓名A",
    age1: 18
}
let obj2 = {
    uname2: "姓名B",
    age2: 18
}
let obj3 = {
    uname3: "姓名C",
    age3: 18
}
let obj={...obj1,...obj2,...obj3}
console.log(obj)

实例化Vue对象的方式

在Vue.js中,属性的使用方式有两种主要的形式,它们之间有一些关键的区别,特别是在组件和实例的上下文中。

第一种形式:对象字面量

let vm = new Vue({  
 el:"#app",//绑定视图
data: { // 数据模型  
    str: "Vue中的数据"  
}  
});

这种形式直接通过对象字面量定义了Vue实例的响应式数据。这种方式适用于Vue的根实例或者当你不需要通过函数来返回数据时。在这种形式下,data是一个普通的JavaScript对象,它的所有属性都将是响应式的。

第二种形式:函数返回对象

let vm = new Vue({  
data() {  
    return {  
        arr: ["Java", "Mysql", "SpringBoot"],  
        obj: {  
            uname: "张三",  
            phone: "123456789"  
        }  
    }  
}  
});
 // 绑定视图
vm.$mount("#app");

在这种形式中,data是一个函数,这个函数返回一个对象。这种方式主要用于Vue组件中,但也可以用于Vue实例(尽管在根实例中不常见)。使用函数的好处是,每次组件被创建时,都会调用这个函数来返回新的数据对象,从而确保每个组件实例都能维护一份被返回对象的独立拷贝。这对于避免组件间的数据污染非常重要。

指令式语法

v-text指令:展示纯文本,相当于innerText

<div v-text="str"></div>

v-html指令:展示文本及样式,相当于innerHTML

<div v-html="str"></div>

v-bind指令:单向绑定数据(动态绑定数据)

<a v-bind:href="aLink">点我跳转</a>
<!-- 简写 : -->
<img :src="path" style="width: 200px;">
<hr>
<!-- 动态绑定样式  -->
<div :class="{bg:bol}">{{str}}</div>

v-for指令:循环遍历

<h2>循环遍历数字</h2>
<div v-for="item in num">{{item}}</div>
<h2>循环遍历字符串</h2>
<div v-for="(item,index) in str">{{item}}--{{index}}</div>
<h2>循环遍历数组</h2>
<div v-for="(item,index) in arr">{{index}}--{{item}}</div>
<h2>循环遍历对象</h2>
<!-- <div v-for="item in obj">ffitem}}</div>-->
<div v-for="(item,key) in obj">{{item}}--{{key}}</div>

v-if和v-for的优先级:
v-for的优先级更高;v-if和v-for在同时使用时,需要将v-if放在父元素上使用

v-show和v-if指令的区别

v-show:
1.css层面控制元素的显示和隐藏,当状态为false时,元素隐藏,但依然存在,只是在当前元素上设置了display:none
2.当频繁切换状态时使用
v-if:
1.真正的条件渲染,当状态为true时,元素创建,当状态为false时,元素直接销毁
2.不频繁切换状态时使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值