Vue学习 第三天

76 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

侦听器

watch侦听器

​ 监听值的变化情况,可以用作监听新建的用户名是否被使用

immediate

​ 作用于侦听器是否自动触发一次

deep

​ 开启深度监听,对象中任一属性变化都会触发侦听

计算属性

定义

​ 指通过一系列运算后,最终得到的一个属性值。

computed

​ 计算属性定义时,需要定义为方法。实现了代码的复用,依赖的数据源发生变化,计算属性的值会发生重新计算。

axios

定义

​ 专注于网络请求的库

基本使用

// 一个promise对象
const result = axios({
    method:'get',
    url:'url_str',
    //URL 中的参数
    params:{},
    //请求体中的参数
    data:{}
})
/*
	axios 会为 请求结果套一层结构,真实请求内容在data中
	{
		config:{},
		data:{},
		headers:{},
		request:{},
		status:xxx,
		statusText:''
	}
*/

result.then(res=>{
	console.log(res.data)    
})

// 调用返回结果为promise的方法时,前面可以添加await
// await 只能用在被async修饰的方法中

var result = await axios({...})
console.log(result)


vue-cli

单页面应用程序

​ 一个web网站中只有唯一一个HTML页面

vue 组件

组件化开发

组件的三个组成部分

  1. template->组件的模板结构
  2. script->组件JavaScript行为
  3. style->组件的样式
<script>
	export default{
        data(){
            return{
                str:''
            }
        }
    }
</script>

组件之间的父子关系

  1. 使用组件的三个步骤

    import name from '@/url...'

  2. 使用components节点注册组件

  3. 使用组件的标签

注册全局组件

在vue项目的main.js入口文件中,通过vue.component()方法,可以注册全局组件

import name from '@/url...'

Vue.component('Name', name)

组件的props

用于父组件向子组件传值使用,数组类型

props:['a','b']

props是只读的,只能用作数据展示用

props:{
    filedName:{
        default: 0,
        type: Number,
        required: true // 必填校验
    }
}

组件样式冲突

scoped 对样式增加范围限制

样式穿透

/deep/ 父组件的样式穿透给子组件