小二江 發表於 2023-12-21 13:15:00

【UniApp】-uni-app-自定义组件

<p><img src="https://img2023.cnblogs.com/blog/2105804/202312/2105804-20231203182130826-1561756591.png" alt="" loading="lazy"></p>
<h1 id="前言">前言</h1>
<ul>
<li>经过上个章节的介绍,大家可以了解到 uni-app-网络请求的基本使用方法</li>
<li>那本章节来给大家介绍一下 uni-app-自定义组件 的基本使用方法</li>
<li>原本打算是直接写项目的,在写项目之前还有个内容需要我在码一篇文章,所以就先码这篇文章了</li>
<li>本章节的内容比较简单,大家可以快速的过一遍,然后在项目中使用</li>
<li>就是自定义组件,虽然 UniApp 是基于 Vue 的,但是在使用自定义组件的时候,还是有一些需要注意的地方,所以本章节就来给大家介绍一下</li>
</ul>
<h1 id="步入正题">步入正题</h1>
<ul>
<li>首先我们打开官方文档:https://uniapp.dcloud.net.cn/component/#easycom</li>
<li>在 UniApp 的组件当中,有一个 easycom 的组件规范,只要你遵循了这个规范,就可以进行自定义组件</li>
</ul>
<p>那么遵循了这个规范又有什么好处呢?</p>
<ul>
<li>传统 vue 组件,需要安装、引用、注册,三个步骤后才能使用组件。easycom 将其精简为一步</li>
<li>只要组件安装在项目的 <code>components</code> 目录下或 <code>uni_modules</code> 目录下,并符合 <code>components/组件名称/组件名称.(vue|uvue)</code> 就可以不用引用、注册,直接在页面中使用</li>
</ul>
<blockquote>
<p>目录结构注意:当同时存在 vue 和 uvue 时,uni-app 项目优先使用 vue 文件,而 uni-app x 项目优先使用 uvue 文件</p>
</blockquote>
<p>好了,知道了 UniApp 中有这么一个规范之后,我们来试一下,看是不是就可以如此简单的使用自定义组件了</p>
<ul>
<li>首先我们在项目的 <code>components</code> 目录下创建一个 <code>ITButton</code> 文件夹</li>
<li>然后在 <code>ITButton</code> 文件夹下创建一个 <code>ITButton.vue</code> 文件</li>
</ul>
<p>ITButton.vue</p>
<pre><code class="language-vue">&lt;template&gt;
        &lt;view :class="['it-btn', type]"&gt;
                &lt;slot&gt;&lt;/slot&gt;
        &lt;/view&gt;
&lt;/template&gt;

&lt;script&gt;
        export default {
                props: {
                        type: {
                                type: String,
                                default: 'default'
                        }
                },
                methods: {

                }
        }
&lt;/script&gt;

&lt;style&gt;
        .it-btn {
                width: 400rpx;
                height: 150rpx;
                line-height: 150rpx;
                font-size: 40rpx;
                text-align: center;
        }

        .default {
                background-color: gray;
        }

        .warn {
                background-color: red;
        }

        .primary {
                background-color: deepskyblue;
        }
&lt;/style&gt;
</code></pre>
<p>到这,我们自定义组件创建好了,官方介绍,只要我们遵循了这个规范,就可以不用引用、注册,直接在页面中使用,那么我们就来试一下:</p>
<ul>
<li>在 index.vue 中使用</li>
</ul>
<p>index.vue</p>
<pre><code class="language-vue">&lt;template&gt;
        &lt;view&gt;
                &lt;ITButton type="primary"&gt;我是自定义按钮哦&lt;/ITButton&gt;
        &lt;/view&gt;
&lt;/template&gt;
</code></pre>
<ul>
<li>然后我们运行一下,看看效果</li>
</ul>
<p><img src="https://img2023.cnblogs.com/blog/2105804/202312/2105804-20231217175943273-1846206138.png" alt="" loading="lazy"></p>
<ul>
<li>很完美哦,我们就不用引用、注册,就可以直接在页面中使用了</li>
<li>可以根据 type 的不同,来设置不同的样式,这样就可以实现一个按钮,多种样式的效果了</li>
<li>我这个组件已经实现了,好了本文就到这里,下一篇文章我们就来写项目了</li>
</ul>
<h1 id="end">End</h1>
<ul>
<li>如果你有任何问题或建议,欢迎在下方留言,我会尽快回复</li>
<li>如果你觉得本文对你有帮助,欢迎点赞、收藏,你的支持是我写作的最大动力</li>
</ul>
<p><img src="https://img2023.cnblogs.com/blog/2105804/202311/2105804-20231129232539490-1458223711.png" alt="" loading="lazy"></p><br><br>
来源:https://www.cnblogs.com/BNTang/p/17918769.html
頁: [1]
查看完整版本: 【UniApp】-uni-app-自定义组件