IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> vue组件 -> 正文阅读

[JavaScript知识库]vue组件

  1. vue组件
    组件
    全局组件和局部组件

全局
// main.js
// 在入口文件导入全局组件的文件夹
import Qj from ‘./components/qj.vue’
// 把 Qj 文件注册为全局组件
Vue.component(‘QJ’, Qj);
// 注意,要在 new Vue() 之前注册

局部
// 哪个组件要用到该局部组件就组件导入
import Jb from “./components/jb.vue”;
export default {
// 把组件注册为这个组件的局部组件
components: {
Jb,
},
};

父子组件间传值
父向子传值
// 1. 子组件对象通过props属性来接收父组件的传值
export default {
name: “Zi”,
props: [“text”],
};

// 2. 在使用子组件的时候把父组件里面的值通过属性绑定来传递

// 3. 该值可以在子组件内正常使用

子组件

{{ text }}

props的具体规则
props:{
item1:{
// 类型
type:[String,Array],
// 必填
required:trun,
// 默认值,如果默认值为数组或者对象时,必须为工厂函数返回的形式
default:“默认值”,
//验证函数,return值为false时Vue.js会报错,如果值未传递,则会跳过
validator:function(value){
return value.indexOf(1)
}

}
}

非props属性
// 1.当父组件给子组件设置了属性,但此属性在props中不存在,这是会自动绑定到子组件的根元素上
// 2.如果组件跟元素已经存在对应属性,则会替换组件内部的值,class和style例外,他们会合并
// 3.在子组件导出对象内设置inheritAttrs:fakse,则不会受父组件赋值的影响,class和style是例外

子向父传值:: 通过自定义事件实现

// 子组件
<button @click=“c”>子组件按钮
{
data() {
return {
list: [1, 2, 3, 4],
}
},
methods: {
c() {
// 参1:自定义事件名称, 参2:父组件事件接收的实参
this.$emit(“on-change”, this.list);
}
},
}

// 父组件
<zi @on-change=“onf” />
{
data() {
return {
fList: [],
};
},
components: {
Zi,
},
methods: {
// data为this.KaTeX parse error: Expected 'EOF', got '}' at position 62: …data; }, }?, } // 或者 //event为this. e m i t 的 第 二 个 参 数 < z i @ o n ? c h a n g e = " f L i s t . p u s h ( . . . emit的第二个参数 <zi @on-change="fList.push(... emit<zi@on?change="fList.push(...event)" />

关系型组件间传值
可以通过父组件进行数据中转
$root当前组件树根实例
$parent父实例
$children直接子组件
r e f s 用 于 获 取 设 置 了 r e f 属 性 的 h t m l 标 签 或 者 子 组 件 非 关 系 型 组 件 传 值 E v e n t b u s 事 件 总 线 , 是 一 个 独 立 的 事 件 中 心 , 用 于 管 理 不 同 的 组 件 的 传 值 操 作 . 通 过 一 个 新 的 V u e 实 例 来 管 理 组 件 传 值 操 作 / / 发 送 数 据 的 组 件 触 发 b u s 事 件 , 接 收 数 据 的 组 件 给 b u s 注 册 对 应 的 事 件 / / b u s . refs用于获取设置了ref属性的html标签或者子组件 非关系型组件传值 Eventbus事件总线,是一个独立的事件中心,用于管理不同的组件的传值操作.通过一个新的Vue实例来管理组件传值操作 // 发送数据的组件触发bus事件,接收数据的组件给bus注册对应的事件 // bus. refsrefhtmlEventbus线,,.Vue//bus,bus//bus.emit(“事件名”,数据)
// bus.$on(“事件名”,(此次参数为上面数据)=>{})

observable跨组件状态存储器

  1. 创建并且导出存储的数据的对象
    export default new Vue.observable({
    text: “我是数据”
    })
  2. 哪里需要哪里用
// 使用 {{ a.text }}

VueX
组件插槽
单个插槽

子组件A

// 插槽
// 这里的内容会渲染到插槽里面 // 注意点 这里是父组件的视图模块,只能使用父组件的数据{{}} // 可以在中为插槽设置默认值

具名插槽

默认name为default
//

组件头部

没有名字的插槽内容1

没有名字的插槽内容2

组件头部

作用域插槽

export default {
data() {
return {
a: “内容a”,
b: “内容b”,
};
},
};

//


{{ atext }}


{{ btext }}


  <template v-slot:footer="dataobj">
    <h1>{{ dataobj.btext }}</h1>
  </template>
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-07 11:54:23  更:2021-08-07 11:54:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年4日历 -2025/4/22 1:47:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码