Vue
组件化编程
非单文件组件
一个文件中包含有n个组件
单文件组件
一个文件中只包含有1个组件
创建组件
Vue.extend({
template:`
<div>
<h2>学生姓名:{{studentName}}</h2>
<h2>学生年龄:{{age}}</h2>
</div>
`
data(){
return{
schoolName:'456',
address:'北京'
}
}
})
//组件定义时,其中不能加入el配置项,因为最终所有的组件都要被一个vm管理
//组件中的参数写为函数式,避免与外部的对象式内存冲突
注册组件
//new vue时加入参数
components:{
school:a
}
//全局注册组件
Vue.component('hello',hello)
组件嵌套
const school=Vue.extend({
template:`
<div>
<h2>学校名称:{{name}}</h2>
<h2>学校地址:{{address}}</h2>
<student></student>
</div>
`,
data(){
return{
name:'456',
address:'北京'
}
},
components:{
student
}
})
const student=Vue.extend({
template:`
<div>
<h2>学生姓名:{{name}}</h2>
<h2>学生年龄:{{age}}</h2>
</div>
`,
data(){
return{
name:'456',
age:'18'
}
}
})
new Vue({
components:{
school:school
}
})
VueComponent
构造函数
组件配置中,data函数、methods中的函数、watch中的函数、computed中的函数,它们的this均是指向VueComponent
在new Vue
配置中,均是指向Vue
实例对象
Vue
单文件组件
<template>
//组件的结构
</template>
<script>
//组件交互相关的代码
export default 单文件名 暴露给其他文件
</script>
<style>
//组件的样式
</style>
Vue
脚手架
//命令行输入
npm install -g @vue/cli
vue create 项目名称
npm run serve
//展示vue的配置文件,以js文件形式展示
vue inspect > output.js
ref属性
效果等同于html
元素中的id
访问方式为:this.$ref
添加ref属性的元素会在VueComponent
实例对象ref属性中添加对应的参数,如果组件添加ref
属性则会将其实例对象放入ref
中
props配置
使用组件时,传入对应参数
在原组件中添加props属性,确认接受对应的参数
接受时对类型进行限制
mixin
混入
当多个组件中有共同的内容时,可以使用混合进行重复使用
内容与组件中属性发生冲突时以组件中的内容为主。如果是钩子函数,那么都会运行。
插件
Vue.use
使用插件
插件中可以调用Vue
的缔造函数,为其添加参数
scoped标签
当不同组件的css
引入时,如果id、class一致会发生冲突。
在style中加入scoped标签就会限制此样式的作用域。
- 本文链接:https://archer-lan.github.io/2023/11/20/Vue%E7%BB%84%E4%BB%B6%E5%8C%96%E7%BC%96%E7%A8%8B/
- 版权声明:本博客所有文章除特别声明外,均默认采用 许可协议。