美文网首页
Vue组件使用基础

Vue组件使用基础

作者: 1CC4 | 来源:发表于2019-12-12 18:32 被阅读0次

一、组件的创建

1、组件是可以复用的(重复使用),可以当做标签使用。等同于<p></p>等标签
2、new Vue拥有相同的选项,例如 data、computed、watch、methods 以及生命周期钩子等。唯一例外是类似 el 这种根实例特有的选项。

新建组件 Vue(对象).component("组件名",{ })
组件模板以 template:开头

Vue.component("buttom-hello", {
      data: function () {
            return {//必须要有返回值
            };
       },
      template: '<i>这是第一个组件</i>'//组件模板
 });
// 实例化Vue对象
let vm = new Vue({
      el: "#app",
      data: {
      }
 });

使用组件:

<div id="app">
        <h2>组件的应用!</h2>
        <buttom-hello></buttom-hello>
</div>

组件的创建必须放在实例化Vue对象之前

二、组件的使用

1、组件的数据de 使用等同于new Vue数据使用
2、只能有一个根元素

错误:

<script>     
        Vue.component("buttom_hello", {
            data: function () {
                return {
                    massage: '这是第一个组件',
                };
            },
            template: '<i>{{massage}}</i><p>第二个元素</p>'
        });
        let vm = new Vue({
            el: "#app",
            data: {

            }
        });
    </script>

正确:
template: '<div><i>{{massage}}</i><p>第二个元素</p></div>'

三、组件数据父传子

  1. 在子组件中定义props属性props:['title','name']
<script>
        Vue.component("buttom_hello", {
            props: ['title'],
            data: function () {
                return {
                    massage: '这是第一个组件',
                };
            },
            template: `<div>
                             <i>{{massage}}</i>
                             <strong>{{title}}</strong>
                        </div>`, //字符串模板可以换行
        });
        let vm = new Vue({
            el: "#app",
            data: {

            }
        });
    </script>
  1. 父组件使用子组件元素时,传入属性值 <组件名 title="标题"></组件名>
 <div id="app">
        <h2>组件的应用!</h2>
        <buttom_hello title="现在是父传子"></buttom_hello>
</div>

如果title是对象传数据的是时候,则用事件绑定的形式

 <div id="app">
        <h2>组件的应用!</h2>
        <buttom_hello :title="对象"></buttom_hello>
</div>

四、组件数据子传父

  1. 在子组件中定义触发事件$emit('事件名',[...参数])
    用点击事件更好看到执行的传值:
Vue.component("buttom_hello", {
          props: ['title'],
          data: function () {
              return {
                  massage: '这是第一个组件',
              };
          },
          template: `<div><i>{{massage}}</i><strong>{{title}}</strong><button @click ="addBtn">子传父</button></div>`,
          methods: {
              addBtn: function () {
                  this.$emit("fcz", '子传父成功');//将子组件的值用$emit传输(事件,值)
              }
          },
      });
  1. 父组件使用子组件元素时,绑定事件<组件名 title="标题" @事件名="函数名"></组件名>

    事件名不能使用驼峰命名,可以使用下划线和横杠
 <div id="app">
        <h2>组件的应用!</h2>
        <buttom_hello title="现在是父传子" @fcz="shou"></buttom_hello> 
        <!-- 绑定子组件事件 fcz,函数 shou -->
        <p>{{str}}</p>
    </div>
  1. 父组件定义函数名函数接收子组件参数执行事件
let vm = new Vue({
            el: "#app",
            data: {
                str: "",
            },
            methods: {
                shou: function (event) {//得到传参
                    this.str = event;//赋值显示
                }
            },
});

相关文章

  • 五、Vue生态介绍

    一、Vue组件库Vue组件库是使用Vue框架开发的组件,一般包含着开发者可以直接使用的基础组件:表单、弹窗、表格等...

  • vue插件的制作----基于Vue和PHP打造前后端分离的通用管

    要使用Vue,基础要会Vue组件,其实Vue还支持看起来技术含量更高的插件。组件和插件的区别,因人而异。不过组件的...

  • (24)打鸡儿教你Vue.js

    学习Vue基础语法Vue中的组件Vue-cli的使用 1、使用Vue2.0版本实现响应式编程2、理解Vue编程理念...

  • VUE 学习笔记

    vue 学习 1. 组件基础 1.1 什么是组件 组件是可以服用的 vue 实例,说白了是一组可以重复使用的模板。...

  • 项目使用svg图标

    vue-element-admin基础模板中,已经封装好了使用svg图标的组件,此组件在vue-ssr项目中也同样...

  • 2020-07-23 一次性讲明白vue插槽slot

    vue插槽slot 一、前言 vue官方文档中在"组件基础"内容中提到组件可以通过插槽分发内容,那插槽是怎么使用的...

  • vue插槽slot

    vue插槽slot 一、前言 vue官方文档中在"组件基础"内容中提到组件可以通过插槽分发内容,那插槽是怎么使用的...

  • vue进阶

    1. parent,$children 基础使用:参考vue官方文档 $refs 父组件调用子组件的方法或属性 $...

  • Python 高端课程培训,CMDB自动化运维培训!

    1、入门小基础(8个课时): 1、沙盒环境,py环境安装使用 2、vue 基础语法与组件学习 3、vue + el...

  • Vue组件使用基础

    一、组件的创建 1、组件是可以复用的(重复使用),可以当做标签使用。等同于 等标签2、new Vue拥有相同的选...

网友评论

      本文标题:Vue组件使用基础

      本文链接:https://www.haomeiwen.com/subject/pjvtnctx.html