# Vue——脚手架

124 阅读2分钟

Vue——脚手架

一、ref属性

用于获取DOM 且避免使用原生DOM操作

实为vc这个组件实例在起作用

eg:

<template>
    <h2 ref='hm'>
        helllo
    </h2>
</template>
​
​
<script>
    export default{
        methods:{
            showDOM() {
                console.log('this.$refs.hm'); // <h2>hello</h2>
            }
        }
    }
</script>
// 若ref给的是组件标签 则获取的是vc

1.被用来给元素或子组件注册引用信息(id的替代者) 2.应用在html标签上获取的是真实DOM元素,应用在组件标签上是组件实例对象(vc ) 3.使用方式: 打标识:

.....

或 获取: this . $refs . xxx(name叫啥就是啥)

二、数据的传递—props

实现动态数据: name age sex 等都在App.vue里面的div中写成标签的属性

// Student.vue
//简单声明接收
 props:['name' , 'age' ,'sex']
//接收的同时对数据进行类型限制
 props:{
name: String,
age: Number,
sex: string
} 
//接收的同时对数据进行类型限制+默认值的指定+必要性的限制
props:{
    name: {
        type :String, //name的类 型是字符串
        required:true, //name 是必要的
    }
},
// App.vue
<template>
    <div>
        <Student name = '静待' :age = '19' sex = 'man'>// 动态绑定的目的:让age接收为number类型
    </div>
</template>
功能:让组件接收外部传过来的数据
(1).传递数据:
    <Demo name=" xxx"/>
(2).接收数据:
    第一种方式(只接收) :
    props: [ name']
    第二种方式(限制类型) :
    props :{
        name : String
    }
    第三种方式(限制类型、限制必要性、指定默认值) :
    props:{
        name :{
            type:String, //类型
            required:true, //必要性
            default:'老王' //默认值 当然一般有required 不同时出现default
        }
    }

备注:

1.props是只读的,Vue底层 会监测你对props的修改,如果进行了修改,就会发出警告, 若业务需求确实需要修改,那么请复制props的内容到data中一份,然后去修改data中 的数据。

2.父传子,常用props完成 子传父,常用自定义事件完成

三、mixin—混入

功能:可以把多个组件共用的配置提取成一个混入对象 使用方式: 第一步定义混合,例如: { data(){....}, methods :{....} } 第二步使用混入,例如: (1).全局混入: Vue . mixin(xxx) (2).局部混入: mixins:['xxx']

​
功能:用于增强Vue
本质:包含install方法的 一个对象,instal1的第一 个参数是Vue,第二个以后的参数是插件使用者传递的数
据。
定义插件:
对象.install = function (Vue, options) {
// 1.添加全局过滤器
Vue . filter(....)
// 2.添加全局指令
Vue . directive(....)
// 3.配置全局混入(合)
Vue . mixin(....)
// 4.添加实例方法
Vue. prototype . $myMethod = function () {...}
Vue . prototype.$myProperty = xXxx
使用插件 Vue.use(xx)
​

四、scoped样式

作用:让样式在局部生效,防止冲突。 写法: