vue - 组件基础

1. 全局组件

2. 局部组件

3. 常规属性传值(props属性传值)

4. v-bind传值

4.1 属性取值

4.2 在构造器向组件传值(v-bind)

5. 父子组件调用

5.1 父组件

5.2 子组件

6. 组件注册

官方文档:https://cn.vuejs.org/v2/guide/components-registration.html

 1 <!DOCTYPE html>
 2 <html lang="en">
 3
 4 <head>
 5     <meta charset="UTF-8">
 6     <title>Vue入门之组件</title>
 7     <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
 8 </head>
 9
10 <body>
11     <div id="app">
12         <!-- 全局组件 -->
13         <div>
14             <button-counter></button-counter>
15         </div>
16         <!-- 局部组件 -->
17         <div>
18             <button-inner></button-inner>
19         </div>
20         <!-- 常规属性传值 -->
21         <div>
22             <button-props here="hello" from-here="world"></button-props>
23         </div>
24         <!-- v-bind传值 -->
25         <div>
26             <button-props v-bind:here="message" :from-here="message"></button-props>
27         </div>
28         <!-- 父子组件调用 -->
29         <div>
30             <parent></parent>
31         </div>
32
33     </div>
34
35     <script type="text/javascript">
36         // 自定义全局组件 button-counter => html里面的<button-counter></button-counter>
37         Vue.component(‘button-counter‘, {
38             data: function () {
39                 return {
40                     count: 0
41                 }
42             },
43             template: ‘<button v-on:click="count++">全局组件显示: {{ count }}</button>‘
44         });
45
46         // 子组件
47         var city = {
48             template: `<div>Sichuan of China</div>`
49         }
50
51         // 父组件
52         var parent = {
53             template:
54                 `<div>
55                 <p> Panda from China!</p>
56                 <city></city>
57             </div>`,
58             components: {
59                 "city": city
60             }
61         }
62
63         // 实例化
64         new Vue({
65             el: ‘#app‘,
66             data: {
67                 message: ‘hello‘
68             },
69             // 定义局部组件
70             components: {
71                 "button-inner": {
72                     data: function () {
73                         return {
74                             inner: 0
75                         }
76                     },
77                     template: ‘<button v-on:click="inner++">局部组件显示: {{ inner }}</button>‘
78                 },
79                 // 取值
80                 "button-props": {
81                     template: `<div style="color:red;">参数1: {{ here }}:---参数2: {{fromHere}}</div>`,
82                     props: [‘here‘, ‘fromHere‘]
83                 },
84                 // 组件注册
85                 "parent": parent
86             }
87         });
88     </script>
89 </body>
90
91 </html>

原文地址:https://www.cnblogs.com/cisum/p/9618160.html

时间: 2024-10-11 05:51:47

vue - 组件基础的相关文章

Vue组件基础用法

前面的话 组件(Component)是Vue.js最强大的功能之一.组件可以扩展HTML元素,封装可重用的代码.根据项目需求,抽象出一些组件,每个组件里包含了展现.功能和样式.每个页面,根据自己所需,使用不同的组件来拼接页面.这种开发模式使前端页面易于扩展,且灵活性高,而且组件之间也实现了解耦.本文将详细介绍Vue组件基础用法 概述 组件是一个自定义元素或称为一个模块,包括所需的模板.逻辑和样式.在HTML模板中,组件以一个自定义标签的形式存在,起到占位符的功能.通过Vue.js的声明式渲染后,

Vue组件基础

gitHub地址:https://github.com/huangpna/vue_learn里面的lesson06 一 vue组件基本实例 举个例子: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>app1</title> </head> <body> <div id=&q

vue组件基础之创建与使用

一.创建组件 <script src="vue.js"></script> <!--引入vue.js文件--> <div id="app"> <Vheader></Vheader> //使用组件 </div> <script> //创建组件 Vue.component('Vheader', { //一定是函数 data:function () { return {} //

Vue 组件基础完整示例2

简介此页面可以直接复制运行,包含以下应用: Vue slot插槽使用Vue v-model使用Vue props使用父子组件数据传递element-ui使用HTML方式注册子组件,可以将子组件数据写在一个js文件中,用标签引入,然后将子组件对象置入components中Live Demo 在线示例Live Demo 提示不建议用HTML模式开发项目,建议使用vue-cli3创建项目,使用单文件组件模式开发Vue cli3 代码 <!DOCTYPE html> <html lang=&qu

跟着文档学Vue(三)——组件基础

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" con

Vue.js-09:第九章 - 组件基础再探(data、props)

一.前言 在上一章的学习中,我们学习了 Vue 中组件的基础知识,知道了什么是组件,以及如何创建一个全局/局部组件.不知道你是否记得,在上一章中,我们提到组件是一个可以复用的 Vue 实例,它与 Vue 实例也只是拥有些许的差异.本章,我们将继续学习组件的相关基础知识,了解 Vue 的组件中的 data.prop 选项的使用. 学习系列目录地址:https://www.cnblogs.com/danvic712/p/9549100.html 仓储地址:https://github.com/Lan

2.基础:Vue组件的核心概念

一.组件基础和注册 组件概念 组件系统是 Vue 的另一个重要概念,他的核心就是封装和复用. 细节 组件的name必须是全局唯一. 二.属性.事件和插槽 组件的三大核心概念:属性.事件和插槽. 属性,事件,插槽好文 1.属性 1.1导言 vue组件 = vue实例 = new Vue(options) 不同的组件只不过是options的不同,90%的工作都是围绕配置options来进行 1.2分类 2.事件 事件冒泡 阻止事件冒泡 3.插槽 分类: 默认插槽 具名插槽 作用域插槽 本质: 作用域

Vue基础篇--8组件基础 component

Vue基础篇--8组件基础 component 1.简单示例 <div id='components1'> <button-conter></button-conter> </div> <script> // 定义一个名为button-conter组件 Vue.component("button-conter",{ data:function () { return { count:0 } }, template:`<b

Vue单文件组件基础模板

背景 相信大家在使用Vue开发项目时,基本都是以单文件组件的形式开发组件的,这种方式好处多多: 1.代码集中,便于开发.管理和维护 2.可复用性高,直接将vue文件拷贝到新项目中 我暂时就想到这两点,童鞋们可以在评论里帮我补充:因为有这么多优点,所以决定有必要将vue组件的常用配置项提炼出来,形成一个组件模板,方便日后项目开发复用 <template> <div> <h1>{{title}}</h1> <ChildComponents></