vue2基本配置

data

data中保存vm需要使用的数据,这些数据都是响应式的,即,一旦data内的数据发生改变,则页面中使用到data内数据的地方都会自动更新,具有两种写法:对象/函数 ,里面可以有多条数据

data:{
	name:'moyu',
	sex:'man'
}
data() {
	return {
		name:'moyu',
		sex:'man'
	}
}

响应式

当一个 Vue 实例被创建时,它将 data 对象中的所有的 property 加入到 Vue 的响应式系统中。这意味着只有创建时已经存在于data中的数据才是响应式的
数据代理
vue会将data中所有数据的property,通过Object.defineProperty添加到实例的_data属性上,这可以让我们直接使用vm._data来访问属性
数据劫持
vue在数据代理基础上,为所有的data对象添加了getter和setter方法,这些对用户来说是不可见的,但是当数据发生改变时,setter方法就会被调用,这时就能让页面刷新,实现页面的响应式
注意⚠️:

  1. Object.defineProperty只能监视修改现有属性,当想为vue添加新属性或者删除属性,需要调用另外的方法
  • 添加新属性
Vue.set( target, propertyName, value )
vm.$set( target, propertyName, value )
  • 删除属性
Vue.delete( target, propertyName )
vm.$delete( target, propertyName )
  1. vue对数组的响应类式并不是通过为元素添加getter和setter实现的都,先调用原生方法对数组进行更新,然后再去更新dom
var vm = new Vue({
  data: {
    items: ['a', 'b', 'c']
  }
})
vm.items[1] = 'x' // 不是响应性的
vm.items.length = 2 // 不是响应性的

为了解决第一类问题,以下两种方式都可以实现和vm.items[indexOfItem] = newValue相同的效果,同时也将在响应式系统内触发状态更新:

// Vue.set
Vue.set(vm.items, indexOfItem, newValue)

// Array.prototype.splice
vm.items.splice(indexOfItem, 1, newValue)

你也可以使用 vm.$set 实例方法,该方法是全局方法Vue.set的一个别名:

vm.$set(vm.items, indexOfItem, newValue)

为了解决第二类问题,你可以使用splice:

vm.items.splice(newLength)

template

HTML5提供的新标签,更加规范和语义化 ;可以把列表项放入template标签中,然后进行批量渲染
注意⚠️:需要写一个div标签,不然不会显示全部内容

<template id="moyu">
	<div>
			<p><span>{{moyu}}</span></p>
			<p><button>{{moyu}}</button></p>
			<hr>
	</div>
</template>

methdos

包含多个方法的对象,所有this的指向都会被绑定到vue实例上,所有方法都会被添加到vm实例上
注意⚠️:不能使用箭头函数

computed

计算属性就是根据已有的属性,进行计算后得出的新属性,使用同普通属性一样
注意⚠️:计算属性在依赖的属性发生改变的时候才会发生变化,不然不会发生变化,只会读取缓存,有两种写法

// 可读可写,get读,set写
computed:{
		name:{
				get(){
						// 写计算后的结果,直接return
					return 'moyu'
				},
				set(value){
						// 写发请求,保存数据
				}
		}
}

// 只读
computed:{
		pricesum(){
				return 'moyu'.split("").reverse().join("");
	}
}

watch

监听data或者计算属性发生变化的对象,具有三种属性

  1. handler:发生数据变化时的回调的函数,
  2. immediate:让监听在数据进行初次绑定时也执行
  3. deep:深度监听,监听对象时使用

三种写法:

// 监视info数据变化
watch:{
	info(newValue,oldVlaue){
		// 新旧数据都可以拿到进行操作
	}
}
// 监视info对象变化
watch: {
    info: {
        handler(newValue,oldVal) {
             // 新旧数据都可以拿到进行操作
        },
        deep: true  // 深度监听
    }
}
// info发生变化时,调用自定义方法
watch: {
	// 可以是methdos中的方法
	info: function(newValue,oldVal)){
		// 新旧数据都可以拿到进行操作
	}
}
Vue中使用axios进行基本配置的方法如下: 1. 第一步,安装axios:在终端中运行命令 `npm install axios` 安装axios。 2. 第二步,导入axios:在你的Vue组件中,使用 `import axios from 'axios'` 导入axios。 3. 第三步,全局配置axios:你可以使用axios的全局配置来设置默认的请求地址和请求头信息。例如,你可以使用 `axios.defaults.baseURL` 来设置请求的基础URL地址,使用 `axios.defaults.headers.common` 来设置公共的请求头信息。 4. 第四步,自定义配置axios:如果你需要根据不同的情况进行不同的配置,你可以创建一个axios的实例,并且在实例中进行自定义的配置。例如,你可以使用 `axios.create` 方法来创建一个实例,并使用 `instance.defaults` 来设置该实例的默认配置。 5. 第五步,在Vue项目中配置axios:如果你使用Vue开发项目,你可以在项目的配置文件中配置axios。例如,在Vue 3中,你可以在 `.env.production` 文件和 `.env.development` 文件中设置不同环境下的请求URL地址。 综上所述,以上是Vue中使用axios进行基本配置的方法。你可以根据你的需求选择全局配置或自定义配置,并在项目中进行相应的配置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Vue全家桶学习—Axios的配置](https://blog.csdn.net/ZHANGYANG_1109/article/details/122610002)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [vue项目中axios的基本配置](https://blog.csdn.net/Ag_wenbi/article/details/115184815)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值