vue组件创建与应用(vue 判断组件是否被创建)

技术怎么深入了解Vue组件的创建和使用今天就跟大家聊聊有关怎么深入了解Vue组件的创建和使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、什么是组件?组件 (

今天跟大家聊聊如何深刻理解Vue组件的创建和使用,可能很多人都不太懂。为了让大家更好的了解,边肖为大家总结了以下内容,希望大家能从这篇文章中有所收获。

00-1010 Component是Vue.js最强大的功能之一Components可以扩展HTML元素,封装可重用的代码。在更高的层次上,组件是一个自定义元素,Vue.js的编译器为其添加了特殊的功能。

一、什么是组件?

二、创建全局组件

方式一

varcom 1=Vue . extend({ 0

//通过模板属性,指定组件要显示的HTML结构

Template:'h4这是使用Vue.extend /h4 '创建的组件

})

1、Vue.extend

vue.component('组件的名称',创建的组件模板对象)注册组件。

Vue.company ('mycom1 ',com1)注意:如果在使用Vue.company注册时全局组件的名称是由hump命名的,那么在引用Vue.Component时需要将大写的hump改为小写字母,同时在两个单词前使用“”链接。不用的话就直呼其名。

怎么深入了解Vue组件的创建和使用

2、Vue.component

方式二

Vue.component(' myco m2 ',{ 0

Template:'divh4这是直接使用Vue.component创建的组件/h4

span123/span/div '

})示例:

怎么深入了解Vue组件的创建和使用

00-1010 1.在受控#app之外,使用模板元素定义组件的HTML模板结构。

templateid='tmpl '

差异

H2这是通过模板元素/h2在外部定义的组件结构

H5工作得很好,还不错!/h5

/div

sp; </template>

2、使用id注册组件

   Vue.component('mycom3', {
        template: '#tmpl'
    })

三、 创建局部组件

局部组件的创建和全局组件的创建方法一样。唯一区别的是,局部组件是在Vue实例中定义的。

怎么深入了解Vue组件的创建和使用

四、组件中的data 和 methods

1、组件可以拥有自己的数据。

2、组件中的data 和实例中的data 有点不一样,实例中的data 可以为一个对象。但是组件中的data必须是一个方法。

3、组件中的data除了是一个方法,还必须返回一个对象。

4、组件中的data 的使用方式和 实例中的data 使用方式一样。(methods也一样)

怎么深入了解Vue组件的创建和使用

五、组件间的通信方式

怎么深入了解Vue组件的创建和使用

props/$emit

父组件A通过props的方式向子组件B传递,B to A 通过在 B 组件中 $emit, A 组件中 v-on 的方式实现。

子组件:

<template>
  <div class="hello">
    <ul>
      <li v-for="(user,index) in users" v-bind:key="index">{{ user }}</li>
    </ul>
  </div>
</template>

<script>
export default {
  name: "users",
  props: {
    users: {  //父组件中子标签自定义的名字
      type: Array,
      require: true
    }
  }
}
</script>

<style scoped>
 li{
   list-style-position: inside;
 }
</style>

父组件:

<template>
  <div id="app">
    <img alt="Vue logo" src="./assets/logo.png">
    <Users v-bind:users="users"> </Users>
  </div>
</template>

<script>
import Users from "@/components/users";
export default {
  name: 'App',
  data(){
    return {
      users: ['西安邮电','西安石油','西北政法','西安工业','西安财经']
    }
  },
  components: {
    Users,
  }
}
</script>

通过事件形式

子组件

<template>
  <header>
    <h2 @click="changeTitle">{{ title }}</h2>
  </header>
</template>
<script>
export default {
  name: "Son",
  data(){
    return {
      title: 'Vue.js Demo'
    }
  },
  methods: {
    changeTitle(){
      this.$emit('titleChanged','西安邮电大学');
    }
  }
}
</script>

<style scoped>
 h2{
   background-color: greenyellow;
 }
</style>

父组件:

<template>
  <div id="app">
    <Son v-on:titleChanged="updateTitle"></Son>
    <h3>{{ title }}</h3>
  </div>
</template>
<script>
import Son from "@/components/Son";
export default {
  name: "Father",
  data(){
    return {
      title: '传递的是一个值'
    }
  },
  methods: {
    updateTitle(e){
      this.title = e
    }
  },
  components:{
    Son,
  }
}
</script>

子组件通过events(事件)给父组件发送消息,实际上就是子组件把自己的数据发送到父组件。

看完上述内容,你们对怎么深入了解Vue组件的创建和使用有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/157916.html

(0)

相关推荐

  • 拍身份证照片要求,拍摄身份证照片有哪些要求

    技术拍身份证照片要求,拍摄身份证照片有哪些要求不能穿着制式服装拍身份证照片要求,尽量穿深色、有领上衣。公民申请办理居民身份证时,相片为彩色正面免冠头像。申领人请勿穿着制式服装,尽量穿深色、有领上衣,但并不局限于黑色、深蓝

    生活 2021年10月24日
  • bootrom 命令(bootrom是在哪里启动操作系统的)

    技术Boot之bootrom启动顺序是怎么样的这篇文章主要为大家展示了“Boot之bootrom启动顺序是怎么样的”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Boot之bo

    攻略 2021年12月22日
  • INTERVAL DAY TO SECOND数据类型是怎样的呢

    技术INTERVAL DAY TO SECOND数据类型是怎样的呢这篇文章给大家介绍INTERVAL DAY TO SECOND数据类型是怎样的呢,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。INT

    攻略 2021年11月30日
  • 罗马数字0,在罗马数字中,零该怎么写

    技术罗马数字0,在罗马数字中,零该怎么写罗马数字起源于古罗马.一共有7个数字符:I,V,X,L,C,D,M
    相应的阿拉伯数字表示为:
    1,5,10,50,100,500,1000
    用罗马数字表示数时,如果几个相同的数字并

    生活 2021年10月26日
  • Python如何将数字转化成列表

    技术Python如何将数字转化成列表小编给大家分享一下Python如何将数字转化成列表,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1. digitizedef digitize(n):
    retur

    攻略 2021年11月11日
  • Windows如何实现任务计划隐藏显示黑窗口

    技术Windows如何实现任务计划隐藏显示黑窗口小编给大家分享一下Windows如何实现任务计划隐藏显示黑窗口,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Windows 任务计划隐藏显示黑窗口,主要通

    攻略 2021年11月18日