vue之父组件与子组件
1.背景
2.简单使用

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!-- <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>-->
<script src="../js/vue.js"></script>
</head>
<body>
<h2>父组件与子组件</h2>
<pre>
这个概念很好理解:
组件中 包含 组件 结构层了父组件与子组件的关系
</pre>
<hr>
<div id="app">
<!-- 5.使用父组件-->
<c-parent></c-parent>
</div>
<script>
// 1.创建组件构造器(子组件)
const componentChild = Vue.extend({
// 相当于一个模板
template: ' <div>' +
' <h5>我是 子组件</h5>' +
' 你好,我是自定义的子组件......' +
' </div>'
})
// 2.创建组件构造器(父组件组件)
const componentParent = Vue.extend({
template: '<div>' +
' <h4>我是 父类主键</h4>' +
' 你好,我是自定义的父组件......' +
' <c-child></c-child>' +
' </div>',
// 3.注册子组件到父组件中
components: {
'c-child': componentChild
}
}) let app = new Vue({
el: '#app',
// 4.注册父组件到vue实例中
components: {
'c-parent': componentParent
}
})
</script>
</body>
</html>
3.语法糖-简写

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!-- <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>-->
<script src="../js/vue.js"></script>
</head>
<body>
<h2>组件简写</h2>
<pre>
就是相当于把第一步创建组件构造器合并在注册组件的时候写
</pre>
<hr>
<div id="app">
<!-- 2.使用组件-->
<c-my></c-my>
</div>
<script>
let app = new Vue({
el: '#app',
// 1.创建主键并注册
components: {
'c-my': {
template: '<div>我是简写的组件</div>'
}
}
})
</script>
</body>
</html>
4.语法糖-简写-子父组件

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!-- <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>-->
<script src="../js/vue.js"></script>
</head>
<body>
<h2>组件简写-子父组件</h2>
<pre>
就是相当于把第一步创建组件构造器合并在注册组件的时候写
</pre>
<hr>
<div id="app">
<!-- 2.使用组件-->
<c-parent></c-parent>
</div>
<script>
let app = new Vue({
el: '#app',
// 1.创建主键并注册
components: {
'c-parent': {
template: '<div>我是简写的父组件<c-child></c-child></div>',
components: {
'c-child': {
template: '<div>我是简写的子组件</div>'
}
}
}
}
})
</script>
</body>
</html>
5.模板与js代码分离

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!-- <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>-->
<script src="../js/vue.js"></script>
</head>
<body>
<h2>组件-模板与js分离</h2>
<pre>
在之前的写法中js与模板的html代码柔和在一起了,如果模板代码比较多写起来很痛苦,
必须将模板定义在外边,
实现很简单弄个id就可以了
</pre>
<hr>
<div id="app">
<!-- 2.使用组件-->
<c-parent></c-parent>
</div>
<!--父模板-->
<template id="parentId">
<div>我是模板分离的父组件
<c-child></c-child>
</div>
</template>
<!--子模板-->
<template id="childId">
<div>我是模板分离的子组件
</div>
</template>
<script>
let app = new Vue({
el: '#app',
// 1.创建主键并注册
components: {
'c-parent': {
template: '#parentId',
components: {
'c-child': {
template: '#childId'
}
}
}
}
})
</script>
</body>
</html>
6.组件中数据访问

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!-- <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>-->
<script src="../js/vue.js"></script>
</head>
<body>
<h2>组件-中数据的访问</h2>
<pre>
1.组件不能直接访问Vue实例数据,请自己测试,{{message}} 2.组件对象也有一个data属性(也可以有methods等属性,下面我们有用到)
只是这个data属性必须是一个函数
而且这个函数返回一个对象,对象内部保存着数据
</pre>
<hr>
<h2>案例如下:</h2>
<div id="app">
<!-- 2.使用组件-->
<c-parent></c-parent> </div>
<!--父模板-->
<template id="parentId">
<div>我是模板分离的父组件,父模板中的数据:{{messageParent}}
<c-child></c-child>
</div>
</template>
<!--子模板-->
<template id="childId">
<div>我是模板分离的子组件
</div>
</template>
<script>
let app = new Vue({
el: '#app',
// 1.创建主键并注册
components: {
'c-parent': {
template: '#parentId',
// 组件中数据存放
data() {
return {
messageParent: '我是父组件中的数据'
}
},
components: {
'c-child': {
template: '#childId'
}
}
}
}
})
</script>
</body>
</html>
完美!
vue之父组件与子组件的更多相关文章
- vue中父级与子组件生命周期的先后顺序
1.vue的生命周期 2.views/createrCustormer.vue为父级 <template> <expressService /> </ ...
- vue 父组件传递子组件事件
在开发中,碰到一个需要从父组件传入方法,子组件点击触发,说白了就是,把方法传入给子组件调用 <el-col v-for='data in spreadFormat.icons' class=&q ...
- Vue中,父组件向子组件传值
1:在src/components/child/文件夹下,创建一个名为:child.vue的子组件 2:在父组件中,设置好需要传递的数据 3:在App.vue中引入并注册子组件 4:通过v-bind属 ...
- VUE 父组件与子组件交互
1. 概述 1.1 说明 在项目过程中,会有很多重复功能在多个页面中处理,此时则需要把这些重复的功能进行单独拎出,编写公用组件(控件)进行引用.在VUE中,组件是可复用的VUE实例,此时组件中的dat ...
- Vue父组件向子组件传递一个动态的值,子组件如何保持实时更新实时更新?
原文:https://blog.csdn.net/zhouweixue_vivi/article/details/78550738 2017年11月16日 14:22:50 zhouweixue_vi ...
- Vue 组件&组件之间的通信 之 父组件向子组件传值
父组件向子组件传值:父组件通过属性向下传值的方式和子组件通信: 使用步骤: 定义组件:现有自定义组件com-a.com-b,com-a是com-b的父组件: 准备获取数据:com-b要获取父组件dat ...
- vue+elementUI项目,父组件向子组件传值,子组件向父组件传值,父子组件互相传值。
vue+elementUI项目,父组件向子组件传值,子组件向父组件传值,父子组件互相传值. vue 父组件与子组件相互通信 一.父组件给子组件传值 props 实现父组件向子组件传值. 1父组件里: ...
- Vue系列之 => 父组件向子组件传值
父组件向子组件传递数据 1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta c ...
- vue 父组件给子组件传值 Vue父组件给子组件传方法 Vue父组件把整个实例传给子组件
Home.vue <template> <!-- 所有的内容要被根节点包含起来 --> <div id="home"> <v-header ...
- vue 的父组件和子组件互相获取数据和方法
父组件主动获取子组件的数据和方法 一.ref(但不能实时更新获取) 1.调用子组件的时候 定义一个ref <child ref="headerChild"></c ...
随机推荐
- Jx9 虚拟机
一.Jx9 虚拟机的生命周期 加载 Jx9 脚本 jx9_compile() 或 jx9_compile_file(),加载编译成功后,Jx9 引擎将自动创建一个实例 (jx9_vm) 并且返回指向此 ...
- 用 Visual C++ 2022 和 CMake 编译 CUnit 静态库
准备工作 源代码获取 CUnit 是知名的 C 语言单元测框架,其源代码最初发布在 sourceforge 上,网址为:https://sourceforge.net/projects/cunit/ ...
- 掌握 Nuxt 3 中的状态管理:实践指南
title: 掌握 Nuxt 3 中的状态管理:实践指南 date: 2024/6/22 updated: 2024/6/22 author: cmdragon excerpt: 摘要:该文指南详述了 ...
- 2019 香港区域赛 BDEG 题解
B.Binary Tree 题意:给你一棵二叉树.有两个游戏者,回合制,他们每次可以删去这棵二叉树中的一棵满二叉树.求最后谁赢. 解法:每一棵满二叉树有奇数个节点,那么每次游戏者只能删去奇数个节点,所 ...
- 带有ttl的Lru在Rust中的实现及源码解析
TTL是Time To Live的缩写,通常意味着元素的生存时间是多长. 应用场景 数据库:在redis中我们最常见的就是缓存我们的数据元素,但是我们又不想其保留太长的时间,因为数据时间越长污染的可能 ...
- 如何免费在 arm 官网上下载合适的手册
背景 有时候搞底层配置的时候(尤其是uboot),需要查阅文档. 这里介绍如何在arm 官网进行查找下载,这样就可以不用去 CSDN 了. 实际上CSDN上的一些文档就是这样下载下来二次收费的,强烈谴 ...
- 【论文阅读】TRO 2021: Fail-Safe Motion Planning for Online Verification of Autonomous Vehicles Using Convex Optimization
参考与前言 Last edited time: August 3, 2022 10:04 AM Status: Reading Type: TRO Year: 2021 论文链接:https://ie ...
- 嵌入式知识分享——GDB程序调试方法说明
前 言 本指导文档适用开发环境: Windows开发环境:Windows 7 64bit.Windows 10 64bit Linux开发环境:Ubuntu 18.04.4 64bit 虚拟机:VM ...
- ajax - 接口、表单、模板引擎
1. 今天继续ajax的一个学习,首先明确一个观念,接口,什么是接口,当使用ajax请求数据时,被请求的url就叫做数据接口也就是接口,注意每个接口必须有请求方式,这里有一个接口的测试工具,postm ...
- 开源GTKSystem.Windows.Forms框架让C# winform支持跨平台运行
目录 一.简介 二.GTKSystem.Windows.Forms框架的优势 三.支持界面皮肤主题定制 四.多种控件支持 五.支持Dock.Anchor.SplitContainer布局缩放 六.支持 ...