精华内容
下载资源
问答
  • 今日,怂怂就为带来一篇前端vue干货,如何在vue中创建自定义组件,并且在项目中引入自定义的组件;具有很好的参考价值,一起跟怂怂过来吧,如若对您有所帮助,别忘了在文章右上角点个赞哦。 1,在你的项目中专门...

    今天,我为大家带来一期干货,有关于前端vue的组件教学,深入指引大家如何在vue中创建自定义组件,并且在xue中引入你自定义的组件;具有很好的参考价值,快一起跟我移目过来吧。

    如果最后觉得该对教材对你有所帮助,请不要吝啬你的赞哦,直接pia的点亮就完了啦,up up up!!!

    1,在你的项目中专门创建一个放置自定义组件的文件夹(我是放在了components底下的common中,本文以table.vue为例)

    2、在你要添加的页中加入要引入的模块,注意驼峰命名的方式(本文为例:<v-table></v-table>,因为我在定义table模块的时候是定义name:v-table,所以引用的时候,也必须得用所在table模块中name定义的名字);

    3、在index.vue中引入table.vue模块 

    //index.vue 页面 ,引入v-table模块
    <div class="table">
        <v-table></v-table> //这就是你引入的自定义模块;注意是驼峰命名法
    </div>

    4、在index.vue页面引入该组件(注意:table.vue,我是在index.vue页面中添加了模块<v-table>,不是html标签,其实就是vue引入新的子组件)

    //index.vue
    <script>
      import vTable from '../../components/common/table'  //table.vue(注意,我在index.vue页面中添加了模块<v-table>,不是html标签,其实就是vue引入新的子组件)
        export default {
            name: "index",
          components: {
                vTable
            },
        }
    </script>

    ps:说白了,自定义组件就好比封装,把一些公共的模块抽取出来,然后写成单独的的工具组件或者页面,在需要的页面中就直接引入即可。

    另外,为了防止在同一页面写入过多的代码,不方便后期维护,便可以把整个页面分成多个小模块,然后在主页面进行模块引入,创建包括引入步骤都是一样的。

    比如:

    总结:

    vue组件命名问题:

    1、别用驼峰式命名 因为 vue   webpack编译后 ,他统一会变成小写(顾名思义:骆驼式命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母,例如:myFirstName、myLastName,这就叫驼峰命名;)

    2、最好加个前缀 比如    <v-table></v-table>或者<v_table></v_table>


    ❤如果文章对您有所帮助,就在文章的右上角或者文章的末尾点个赞吧!(づ ̄ 3 ̄)づ 

    ❤如果喜欢大白兔分享的文章,就给大白兔点个关注吧!(๑′ᴗ‵๑)づ╭❤~

    ❤对文章有任何问题欢迎小伙伴们下方留言或者入群探讨【群号:708072830】

    ❤鉴于个人经验有限,所有观点及技术研点,如有异议,请直接回复讨论(请勿发表攻击言论)

    展开全文
  • 一、什么是自定义组件 Android为我们提供了丰富的 UI组件,基本的应用已经足够了,但在实际开发中,如果我们想构建更加复杂的 UI视图,此时就需要使用自定义组件了。 二、自定义组件的方式 自定义组件的三种方式...

    声明:本教程不收取任何费用,欢迎转载,尊重作者劳动成果,不得用于商业用途,侵权必究!!!

    目录

    一、前言

    二、什么是自定义组件

    三、自定义组件的方式

    1、组合现有组件

    2、在某一个组件上进行扩展

    3、完全自定义组件

    四、定义自定义属性

    1、attrs.xml 文件介绍

    2、attrs.xml 文件具体写法

    3、attrs.xml 文件解释


    一、前言

    最近项目中用到很多自定义组件的知识,所以想把几年前自学自定义组件的笔记整理一下和大家一起分享,也方便自己巩固。之后也会陆续把以前在公司项目当中比较经典的自定义组件案例,抽离出来和大家一起分享

     

    二、什么是自定义组件

    Android为我们提供了丰富的 UI组件,基本的应用已经足够了,但在实际开发中,如果我们想构建更加复杂的 UI视图,此时就需要使用自定义组件了。

     

    三、自定义组件的方式

    自定义组件的三种方式:

    1、组合现有组件

    组合现有Android默认提供的组件,继承ViewGroup或其子Layout类等布局类进行组合。

    如:如果是我们自己写Layout布局,每次可能要一个个写或拖动进去。

    那我们把这整个Layout布局定义成一个组件,下次就直接使用即可,相当于打包。

    2、在某一个组件上进行扩展

    调整现有Android默认提供的组件,继承View的子类具体类。

    如:继承ImageView实现在图片上添加文字,继承Toast实现在文字下面添加图片等

    3、完全自定义组件

    继承View基类,里面界面及事件完全由自己控制。

    如:我们知道所有组件都是继承View而来,那么你也就可以直接自己写一个类继承View,重写View里面的相关方法或事件,然后自己去控制操作。 这个是最原始的,完全自定义的,不是基于任何Android默认提供的组件去定义的。

     

    四、定义自定义属性

    1、attrs.xml 文件介绍

    不管使用哪种自定义组件的方式,首先当然是你要写出自定义组件的一个类文件,

    在这个类当中,如果你需要有自定义的属性。

    所谓自定义属性是什么?

    如:像android提供的默认组件,一般都有定义宽、高、字体大小或颜色的属性,

    如果除了这些属性以外,还想在你的自定义组件里面,拥有提供自己的属性,这个就是自定义属性。

    如何创建自定义属性文件?

    这个时候我们就要使用到一个属性资源配置文件,它是一个xml文件,

    然后将这个类里,需要外界传入值的属性,定义在这个属性资源配置文件中,

    在工程里的 .../res/values/ 目录下创建一个 attrs.xml,

    文件名 attrs由英文单词 attribute而来,见名知意的写法,

    文件名并不是只能写成这样,这样写只有一个目的,别人一看就知道这个文件是属性资源文件了。

    2、attrs.xml 文件具体写法

    配置XML属性资源文件的方式,attrs.xml 文件 具体写法如下:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <declare-styleable name="MyView">
            <attr name="textColor" format="color"/>
            <attr name="textSize" format="dimension"/>
            <attr name="text" format="string"/>
        </declare-styleable>
    </resources>

     

    3、attrs.xml 文件解释

    attrs.xml文件解释如下:

    attrs.xml文件解释如下
    
    resources 资源
    
    declare-styleable 声明风格样式   name 风格样式的名称
    
    attrs 子元素
    
    name 属性名
    
    format 属性格式
    
    
    
    定义具体的属性,format 表示这个属性的值的类型,类型有以下几种:
    
    1、reference 
    
    参考指定Theme中资源ID,这个类型的意思,就是你传的值可以是引用资源
    
    2、string 字符串,
    
    如果你想别人既能直接写字符串值,也可以用类似写"@string/test"引用资源的方式,可以写成 format="string|reference"
    
    3、color 颜色
    
    4、boolean 布尔值
    
    5、dimension 尺寸值
    
    6、float 浮点型
    
    7、integer 整型
    
    8、fraction 百分数
    
    9、enum 枚举。只能在提供的值里面选一个,如下:
    
         <attr name="language">
    
            <enum name="China" value="1">
    
            <enum name="English" value="2">
    
         </attr>
    
    10、flag 位或运算

     

     

    展开全文
  • jQuery jQuery自定义插件 vue vue自定义组件 react react自定义组件

    前言

    前些天有个表弟问我vue的自定义组件是啥,我也是一阵无语,一直写的都不知道是干啥的。这里我有寻找了下jQuery中的自定义组件方法,希望对此模糊的同学能有更清晰的理解。

    JQuery自定义组件

    1.jQuery.fn.extend(object)

    object:用来扩充 jQuery 对象。

    例如:

    增加两个插件方法。

    代码:
    jQuery.fn.extend({
        	check: function() {
         		return this.each(function() { this.checked = true; });
        	},
            uncheck: function() {
              	return this.each(function() { this.checked = false; });
            }
    });
    结果:
    $("input[type=checkbox]").check();
    $("input[type=radio]").uncheck();
    
    2.jQuery.extend(object)

    object:用来扩充 jQuery 对象。

    例如:

    在jQuery命名空间上增加两个函数。

    代码:
    jQuery.extend({
    	min: function(a, b) { return a < b ? a : b; },
      	max: function(a, b) { return a > b ? a : b; }
      });
    结果:
    jQuery.min(2,3); // => 2
    jQuery.max(4,5); // => 5
    
    3.jQuery.noConflict([extreme]) 说个题外话,这是jQuery的多库共存,也就是替换$

    运行这个函数将变量$的控制权让渡给第一个实现它的那个库。
    extreme:传入 true 来允许彻底将jQuery变量还原。
    例如:
    完全将 jQuery 移到一个新的命名空间。

    jQ代码:
    var dom = {};
    dom.query = jQuery.noConflict(true);
    
    结果:
    dom.query("div p").hide();		// 新 jQuery 的代码
    $("content").style.display = 'none';	// 另一个库 $() 的代码
    jQuery("div > p").hide();		// 另一个版本 jQuery 的代码
    

    Vue自定义组件

    怎么说呢,最简单的说就是每一个 .vue文件都是一个组件。所以剩下的就不用我说了吧 ^ _ ^
    在这里插入图片描述
    白色的是引入组件,红色的是全局安装,带下划线的是组件的名字,黄色的是导出组件,缺一不可

    现在组件已经封装好了,怎么用?跟其他组件一样使用
    
    打开 main.js  加上
    
    import sjld from './components/sjld/index.js'
    
    Vue.use(sjld);
    
    然后在项目中任意处
    
    <sjld :citys="citys" :sheng="sheng" @change="change"></sjld>
    
    citys ,cheng 对应组件中 props 
    
    chang 对应组件中$emit的方法
    

    react自定义组件

    示例:创建一个名叫MyCommponent的组件

    第一步:导入 React 和 Component

    import React ,{Component}from 'react'	//React和Component都是内置的
    

    第二步:定义类

    import React ,{Component}from 'react'  //导入 React Component/,React和Component都是内置的
    
    class MyCommpent extends Component{ //定义类继承 Compoent 
        render(){ //render就是返回一个标签        
            return(
                <div>
                    <h1>我是自定义组件</h1>
                </div>
            )
        }
    }
    
    export default MyCommpent ;  //将此标签导出 。方便其他地方的调用使用
    

    第四步:其他地方的导入并使用此标签

    import React from 'react';
    import ReactDOM from 'react-dom';
    import './index.css';
    
    import MyCommpent from './MyCommpent'  //导出组件 方便使用
    
    
    ReactDOM.render(<MyCommpent/>,document.getElementById('root'))
    
    
    registerServiceWorker();
    

    第五步:没啦啊,这就成了,想看结果?去试试吧,哈哈。

    后言

    千里之行始于足下,如果内容存在错误或者表达不当,还望及时告知,当然若是有所帮助请给颗小心心加个关注。whj

    展开全文
  • 小程序自定义组件——创建和使用自定义组件步骤 & 自定义组件属性properties数据列表、data数据、methods方法的用法 小程序默认提供的组件(内置组件) 如果内置组件没有提供特定功能,我们可以自己实现一个...

    小程序自定义组件——创建和使用自定义组件步骤 & 自定义组件属性properties数据列表、data数据、methods方法的用法

    • 小程序默认提供的组件(内置组件)
    • 如果内置组件没有提供特定功能,我们可以自己实现一个组件来完成自己的一些需求

    基本用法

    • 创建组件

      • 组件的json配置文件必须添加属性"component": true
    • 实现组件模板和样式

    • 使用自定义组件(在使用自定义组件的页面中添加如下配置)

      {
        "usingComponents": {
          "my-header": "/components/header/index"
        }
      }
      
      • 在页面模板中,就可以使用自定义组件了
      <my-header>K/my-header>
      
    • 动态填充组件模板(从组件内部data中获取数据)

      <view bind:tap='handleTap' class='item' wx:key='{{index}}' wx:for='{{list}}'>
          {{item}}
        </view>
      
    • 动态填充组件模板(从组件属性中获取数据)

      <view bind:tap='handleTap' class='item' wx:key='{{index}}' wx:for='{{list}}'>
          {{item}}
      </view>
      
    • 处理组件的行为

      • properties组件属性
      • data组件内部数据
      • methods组件内部方法
      // components/header/index.js
      Component({
        /**
         * 组件的属性列表
         */
        properties: {
          list: {
            type: Array,
            value: []
          }
        },
      
        /**
         * 组件的初始数据
         */
        data: {
          start: '【',
          end: '】',
          list: [1, 2, 3]
        },
      
        /**
         * 组件的方法列表
         */
        methods: {
          handleTap: function() {
            console.log('--------')
            // this.data.start = '《'
            // this.data.end = '》'
            this.setData({
              start: '《',
              end: '》'
            })
          }
        }
      })
      
      

      自定义组件写法一

      第一步:在page同层级,新建文件夹components文件夹,在其中自定义组件

      第二步:在其中新建自定义组件文件夹mynav

      第三步:自定义组件结构

      <!-- 自定义组件的模板 ——>
      <view class="mynav">
          <view>头条</view>
          <view>科技</view>
          <view>教育</view>
      </view>
      

    在这里插入图片描述

    第四步:自定义组件样式

    .mynav{
        display:flex;
    }
    .mynav view{
        flex:1;
        height:80rpx;
        line-height:80rpx;
        background:pink;
        text-align:center;
    }
    

    在这里插入图片描述

    第五步:在所需页面进行引入

    {
        "usingComponents":{
            "my-nav":"/components/mynav/index"
        }
    }
    

    在这里插入图片描述

    第六步:在所需页面进行使用

    </my-nav>
    

    在这里插入图片描述

    自定义组件写法二

    对组件固定数据进行动态修改(在组件文件下的index.js中)

    Components({
        //组件的属性列表
        //自定义组件的标签属性值会覆盖默认的属性值
      properties:{
        navData:{
    		//type表示组件属性类型
            type:Array,
            //value表示组件属性的默认值
            value:['头条','科技','教育']
        }
      }
    })
    

    在这里插入图片描述

    组件页面进行修改

    <!-- 自定义组件的模板 ——>
    <!--  <view class="mynav">
        <view>头条</view>
        <view>科技</view>
        <view>教育</view>
    </view> ——>
    
    <view class="mynav">
      <view wx:key='{{index}}' wx:for='{{navData}}'
     	   {{item}}
      </view>
    </view>
    

    在这里插入图片描述

    注意:

    自定义组件的标签属性值会覆盖默认的属性值

    在这里插入图片描述

    组件属性data的用法,如:组件数据加符号,在组件的index.js文件中

    在这里插入图片描述

    组件data属性用法

    在这里插入图片描述

    组件methods属性用法

    结构

    在这里插入图片描述

    方法

    在这里插入图片描述

    展开全文
  • 1. 可以在APP.JSON内引用自定义组件,此时该组件为所有页面共享。 2. 可以在页面的JSON文件内引用自定义组件,此时为该页面独享。 引入代码如下: /** * myTag 自定义组件名称 * path/to/the/custom/...
  • 自定义组件(子组件) 页面中引入(父组件引入子组件) 父组件(使用自定义组件的页面)传值给子组件 子组件(自定义组件)传值给父组件 备注 一、本机环境 本机系统: Mac 小程序开发者工具: 1.5.7 二、自定义...
  • 小程序调用自定义组件里的方法

    万次阅读 2018-06-04 15:44:51
    初学小程序为了调用自定义组件里的方法被坑了不少时间,仅此记录。 假如我们已经有了一个自定义组件toast 组件里面有个方法控制toast的显示 假如我要在登录界面引用toast,那如何调用自定义组件的方法控制...
  • Uni-App - 自定义组件 - 自定义组件创建及使用

    万次阅读 多人点赞 2019-02-21 17:08:57
    创建自定义组件 1、新建 组件.vue 文件 2、组件文档结构 &lt;template name="组件名称"&gt; &lt;view&gt; ...... &lt;/view&gt; &lt;/template&gt; &lt;script...
  • uni-app项目非自定义组件模式升级到自定义组件模式问题总结 最近更新了HBuiderX,发现原来的正常显示的页面和文件路径发生了异常,仔细一看原来是新更新的HX默认编译模式为自定义组件模式,和项目之前的非自定义组件...
  • 自定义组件 <!-- 为自定义组件起名称 --> <template name='helloComponent'> <view> {{msg}} <input type="text" :value="myText" class="txt" /> </view> </template> ...
  • 有时候页面的内容过多,逻辑比较复杂,如果全部都写在一个页面的话,会比较繁杂,代码可读性比较差,也不易于后期代码维护,这时候可以把里面某部分功能抽出来,单独封装为一个组件,也就是通常说的自定义组件,...
  • 这时候我们就可以将这些重复代码封装成一个组件,以后在使用的时候只需要写上自定义组件的标签即可直接调用。 基础使用 自定义组件Vue.component('标签名', {})一般我们的HTML模板和data数据以及方法之类的都会放在...
  • android 自定义组件

    2010-07-05 08:33:49
    android 自定义组件android 自定义组件android 自定义组件android 自定义组件android 自定义组件android 自定义组件
  • 在vue开发项目中想自定义一个自己的组件,于是在网上找一下...学习 ES6中import xxx from xxx的用法,因为这个用法会在后面的自定义组件中用到。 Vue使用import … from …来导入组件,库,变量等。而from后的文件来...
  • 此时可以将里面某些超过一次使用的功能抽调出来,单独封装为一个组件,也就是自定义组件自定义组件使用起来和使用标签差不多,在这里我就姑且把它等同于标签了,但是它也是有wxml,js,wxss,json四个文件组成的,在...
  • mpvue自定义组件

    千次阅读 2019-10-25 15:24:25
    创建自定义组件 类似于页面,一个自定义组件由 json wxml wxss js 4个文件组成。要编写一个自定义组件,首先需要在 json 文件中进行自定义组件声明(将 component 字段设为 true 可这一组文件设为自定义组件): ....
  • 小程序-自定义组件

    千次阅读 多人点赞 2020-07-27 16:41:29
    小程序的自定义组件小程序组件的使用自定义组件组件的创建配置对应的组件使用对应的组件插槽的使用匿名插槽具名插槽以及多个调用的配置单个具名插槽多个具名插槽组件传参父传子子传父组件与调用组件页面的css关系...
  • Flutter 自定义组件实战
  • 自定义组件:自定义类MyView继承View,Paint画笔画的长方形绿色 我想在使用MyView组件的Activity控制长方形的颜色,不通过重绘,有什么方法修改长方形画笔颜色? public MyView extends View{ public MyView...
  • Laya自定义组件

    2019-10-02 16:43:01
    教程翻了几遍,没有自定义组件,论坛搜了下,说是不能使用。 二 预置件做自定义组件 预置件无法右键创建。 又去翻教程。终于知道预置件怎么创建了。就是选中一个组件,然后右上角有个按钮,设置为...
  • 首先我们在pages文件夹下创建components目录用于存放自定义组件。如图所示,以我创建的dialog组件为例,自定义组件的格式与页面一样,分为4个文件。 图1 图2 如上图2所示,假如index页面有一个按钮触发点击...
  • 自定义组件 类似vue或者react中的自定义组件 小程序允许我们使用自定义组件的方式来构建页面。 1.创建自定义组件 类似于页面,一个自定义组件由json wxml wxss js 4个文件组成 可以在微信开发者中快速创建组件的文件...
  • vue自定义组件

    2018-05-04 22:56:18
    vue自定义组件
  • angular 自定义组件

    千次阅读 2018-02-03 10:28:49
    在 Angular 中,我们可以通过 Component 装饰器和自定义组件类来创建自定义组件。 基础知识 定义组件的元信息 在 Angular 中,我们可以使用 Component 装饰器来定义组件的元信息: @Component({ ...
  • 小程序中的自定义事件的发起者只能绑定在自定义组件上,不能绑定在view等原生标签上,然后配合参数{ bubbles: true, composed: true }中的主要参数composed才能实现自定义组件上绑定的事件作用于父级组件或者页面中...
  • 1.首先创建一个自定义组件 Vue.component('test-component',{ template:`<div id="el"><input @input="change"><button @click="getInputData">点我看input数据</button></div>`, ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 50,019
精华内容 20,007
关键字:

自定义组件