12-uniapp 自定义组件

321 阅读1分钟

[app.vue就是一个主组件,其他创建的页面实际就是子组件]

之前的组件实际就是官方封装的,以后可以自己封装组件,component就是以后自己封装的公共组件文件

组件可以全局注册和局部注册

全局注册在main.js中导入和注册,局部组件在要使用组件的页面导入和注册

所以组件的使用分三步1.引入,2.注册,3.使用 也可以在uniapp的pages.json的easycom节点中安装,就不需要引入和注册,可以在页面中直接用,easycom是自动开启的

先在项目目录下创建一个components目录

右键点击这个目录,就会出现创建页面和创建组件,而之前的pages目录就只有创建页面

image.png

点击创建组件后,选使用scss模板,勾选创建同名目录

image.png

勾选同名目录就会在components目录下创建一个文件夹,文件夹里有一个vue文件,两个都是同名的 image.png

[1.先写一个组件,实际就是一个页面,跟之前写页面一样]

<template>
  <view>
    <view class="item">item自定义全局组件</view>
  </view>
</template>

<script>
  export default {
    name:"myitem",
    data() {
      return {
        
      };
    }
  }
</script>

<style lang="scss">
.item {
  width: 200rpx;
  height: 200rpx;
  background: orange;
  color: white;
}
</style>

[2.在要使用自定义组件的页面中使用]

在vue中,要使用自定义的组件需要遵循上面的三个步骤,先注册,再引入,然后才是使用,但是在uniapp中,可以直接用

直接在要引用组件的页面中,将自定义组件的名字作为标签名引入即可

这就是局部注册的方法第二种方法,easycom自动注册使用

<template>
  <view>
    <!-- 引入自定义组件 myitem -->
    <myitem></myitem>
  </view>
</template>

<script>
  export default {
    data() {
      return { 
      }
    },
    methods:{
      fun(){
      }
    },
    computed:{
    }
  }
</script>

<style lang="scss">
</style>

image.png