精华内容
参与话题
问答
  • /*最外层透明*/ .el-table, .el-table__expanded-cell{ background-color: transparent; } /* 表格内背景颜色 */ ...组件化开发 less则需要加上/deep/生效,还有注意作用域要是scoped<style scoped&

    html中使用,css中加入如下代码即可

    /*最外层透明*/
    .el-table, .el-table__expanded-cell{
        background-color: transparent;
    }
    /* 表格内背景颜色 */
    .el-table th,
    .el-table tr,
    .el-table td {
        background-color: transparent;
    }
    

    组件化开发

    less则需要加上/deep/生效,还有注意作用域要是scoped<style scoped>
    如下

    /*最外层透明*/
    /deep/ .el-table, /deep/ .el-table__expanded-cell{
      background-color: transparent;
    }
    /* 表格内背景颜色 */
    /deep/ .el-table th,
    /deep/ .el-table tr,
    /deep/ .el-table td {
      background-color: transparent;
    }
    

    stylus则用>>>替代,注意需要有scoped,
    也就是<style scoped lang="stylus" rel="stylessheet/stylus">需要加上scoped否则深度作用>>>不生效

    /*最外层透明*/
    >>>  .el-table, >>>  .el-table__expanded-cell
      background-color transparent
    
    
    /* 表格内背景颜色 */
    >>>  .el-table th, >>>  .el-table tr, >>>  .el-table td
      background-color transparent
    
    

    有效果的,点个赞,让更多人知道怎么处理。


    关于表格的其它一些操作

    去除最底层表格的下划线

    在这里插入图片描述

    /* 删除表格下最底层的横线 */
    .el-table::before {
      left: 0;
      bottom: 0;
      width: 100%;
      height: 0px;
    }
    

    设置表格头的字体颜色

    在这里插入图片描述

    /* 表格表头字体颜色 */
    .el-table thead {
      color: #ffffff;
      font-weight: 500;
    }
    

    设置滚动条样式

    在这里插入图片描述

    /*表格滚动条和字体颜色*/
    .el-table
      border-bottom 0
      color hsla(0,0%,100%,.6)
      /* 设置滚动条的样式 */
      ::-webkit-scrollbar
        width 5px;/*滚动条粗细*/
    
      /* 滚动槽 */
      ::-webkit-scrollbar-track
        -webkit-box-shadow inset006pxrgba(0, 0, 0, 0.3)
        border-radius 10px
    
      /* 滚动条滑块 */
      ::-webkit-scrollbar-thumb
        border-radius 10px
        background rgba(0, 0, 0, 0.3)
        -webkit-box-shadow inset006pxrgba(0, 0, 0, 0.5)
    
    
    

    移除默认的hover样式

    这个贼坑,社区中很早以前就提过了,一直没有解决。
    el-table元素设置一个id,我这里叫做playList,你可以随意,注意下面的getElementById中一致即可,放在钩子函数即可,例如setInterval时间为0,就是一直去除,因为这个熟悉似乎是动态加上去的,如果直接使用document.getElementById("playList").classList.remove("el-table--enable-row-hover")会造成移除了又被添加进去了

    mounted() {
      setInterval(() => {
      // (也可以使用`this.$ref`获得表格元素让母后`.classList.remove("el-table--enable-row-hover")`)
          document.getElementById("playList").classList.remove("el-table--enable-row-hover")
      })
    }
    

    附上整体效果截图
    在这里插入图片描述

    展开全文
  • Android组件化开发之二:组件化架构

    千次阅读 2018-01-16 15:32:19
    组件化开发系列文章 1. Android组件化开发之一:为什么要进行组件化开发 2. Android组件化开发之二:组件化架构 3. Android组件化开发之三:组件化开发手册 4. Android组件化开发之四:组件化填坑之旅 5. Android...

    我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情

    组件化开发系列文章

    1. Android组件化开发之一:为什么要进行组件化开发
    2. Android组件化开发之二:组件化架构
    3. Android组件化开发之三:组件化开发手册
    4. Android组件化开发之四:组件化填坑之旅

    5. Android组件化开发之五:组件化开发实战Demo

    从头对一个现有的APP项目进行组件化改造,需要按计划按步骤逐步实现。

    这里我们分为四期计划进行改造,每一期用下面的示例图展示:

    第一期

    主要工作内容:

    1、对APP结构进行划分:APP壳工程、业务组件、Base组件库;

    2、每个结构功能定义清晰;

    3、业务组件路由选型:如Arouter;

    第二期

    主要工作内容:

    1、每个业务组件通过添加application方式能够独立成一个单独module,并且可以独立运行;

    第三期

    主要工作内容:

    1、进一步细分Base基础库,将Base基础库分为基础组件、Base组件;

    2、基础组件是我们业务相关的、能够在内部项目中通用的组件;Base组件是基础功能组件;

    第四期

    主要工作内容:

    1、通过maven将基础组件和Base组件管理起来;

     

    展开全文
  • 文章目录组件化开发系列1. 组件化项目结构图2. 组件化项目模块3. 注意事项4. git地址 组件化开发系列 Android组件化开发之一:为什么要进行组件化开发 Android组件化开发之二:组件化架构 Android组件化开发之三:...

    我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情

    组件化开发系列文章

    1. Android组件化开发之一:为什么要进行组件化开发
    2. Android组件化开发之二:组件化架构
    3. Android组件化开发之三:组件化开发手册
    4. Android组件化开发之四:组件化填坑之旅
    5. Android组件化开发之五:组件化开发实战Demo

    1. 组件化项目结构图

    在这里插入图片描述

    2. 组件化项目模块

    1. app模块
      app模块不再是我们原来放置所有业务、所有功能的模块,而是一个“壳”工程。
      "壳"工程的作用有几个:
      1. 统一配置。
        比如需要引入哪些业务组件模块,可以在build.gradle中进行配置。
        在这里插入图片描述
      2. 初始化数据
        可以在app的application类中,进行app数据的初始化操作,比如网络、图片、数据、日志等,还有包括ARouter的初始化;
      3. 业务入口
        通常这个app模块的MainActivity可以作为一个启动页Splash Page的功能,然后在启动页中跳转到各个业务模块中去,从而完成一个app的启动流程。
    2. base模块
      base模块是基础库工程,是壳工程和业务模块工程所引用的工程,其中包括基础框架比如MVP、MVVM等,还有各种第三方库的引用,比如RxJava、Retrofit、Glide、RxPermission等等。
      包括ARouter需要各组件共用的部分,比如继承了IProvider的接口。
      在这里插入图片描述
      在这里插入图片描述
    3. 业务组件
      业务组件这个比较好理解,就是将app拆分成各个比较独立的业务,每个业务可以就可以称之为一个业务组件,比如登录业务module_login、首页业务module_main。
      这些业务组件可以通过配置参数,来决定是否作为一个独立的app运行,也可以参与到整个项目的集成环境中运行。我们通过一个参数比如useModule来控制:
      在这里插入图片描述
      业务模块的控制:
      在这里插入图片描述
      1. ARouter使用
        ARouter使用的时候注意以下4点即可:
        1. @Route声明,从而表明当前类是可以被其它组件打开的;
        2. 通过inject方法,将当前类注入进ARoute,这样当前类被调用才能生效;
        3. 通过navigation方法,可以带上参数等,跳转到其它的声明过@Route的组件;
        4. 通过navigation方法,可以访问其它组件暴露出的方法,当然这个方法需要实现继承IProvider接口;
          在这里插入图片描述

    3. 注意事项

    集成环境的时候,组件的AndroidManifest.xml文件里面不用声明Launcher,不让会在桌面出现这个组件的图标。
    在这里插入图片描述

    4. git地址

    https://github.com/ddnosh/android-demo-componentization

    展开全文
  • 前端组件化基础知识

    千次阅读 2020-12-31 22:45:17
    这里我们一起来学习前端组件化的知识,而组件化在前端架构里面是最重要的一个部分。

    同学们好,我是来自《技术银河》 的 三钻

    这里我们一起来学习前端组件化的知识,而组件化在前端架构里面是最重要的一个部分。

    讲到前端架构,其实前端架构中最热门的就有两个话题,一个就是组件化,另一个就是架构模式。组件化的概念是从开始研究如何扩展 HTML 标签开始的,最后延伸出来的一套前端架构体系。而它最重要的作用就是提高前端代码的复用性

    架构模式就是大家特别熟悉的 MVC, MVVM 等设计模式,这个话题主要关心的就是前端跟数据逻辑层之间的交互。

    所以说,前端架构当中,组件化可以说是重中之重。在实际工程当中,其实组件化往往会比架构模式要更重要一些。因为组件化直接决定了一个前端团队代码的复用率,而一个好的组件化体系是可以帮助一个前端团队提升他们代码的复用率,从而也提升了团队的整体效率

    因为复用率提高了,大家重复编写的代码量就会降低,效率就会提高,从而团队中的成员的心理和心智负担就会少很多。

    所以学习组件化可以是说是非常重要的

    这里我们先从了解什么是组件化和一个组件的基本组成部分开始。

    组件的基本概念

    组件都会区分为模块和对象,组件是与 UI 强相关的,所以某种意义上我们可以认为组件是特殊的模块或者是特殊的对象。

    组件化既是对象也是模块

    组件化的特点是可以使用树形结构来进行组合,并且有一定的模版化的配置能力。这个就是我们组件的一个基本概念。

    对象与组件的区别

    首先我们来看对象,它有三大要素

    1. 属性 —— Properties
    2. 方法 —— Methods
    3. 继承关系 —— Inherit

    在 JavaScript 中的普通对象可以用它的属性,方法和继承关系来描述。而这里面的继承,在 JavaScript 中是使用原型继承的。

    这里说的 “普通对象” 不包含复杂的函数对象或者是其他的特殊对象,而在 JavaScript 当中,属性和方法是一体的。

    相对比组件,组件里面包含的语义要素会更丰富一点,组件中的要素有:

    • 属性 —— Properties
    • 方法 —— Methods
    • 继承 —— Inherit
    • 特性 —— Attribute
    • 配置与状态 —— Config & State
    • 事件 —— Event
    • 生命周期 —— Lifecycle
    • 子组件 —— Children

    PropertiesAttribute 在英语的含义中是有很大的区别的,但是往往都会翻译成 “属性”。 如果遇到两个单词都出现的时候,就会把 Attribute 翻译为 “特性”,把 Properties 翻译成 “属性”。这两个要素要怎么区分呢?这里在文章的后面会和大家一起详细了解。

    接下来就是组件的 Config,它就是对组件的一种配置。我们经常会在一个构造函数创建一个对象的时候用到 Config ,我们传入这个构造函数的参数就叫 “Config(配置 )”。

    同时组件也会有 state(状态)。当用户去操作或者是一些方法被调用的时候,一个 state 就会发生变化。这种就是组件的状态,是会随着一些行为而改变的。而 statepropertiesattributesconfig 都有可能是相识或者相同的。

    event 就是 “事件” 的意识,而一个事件是组件往外传递的。我们的组件主要是用来描述 UI 这样的东西,基本上它都会有这种事件来实现它的某种类型的交互。

    每一个组件都会有生命周期 lifecycle,这个一会儿在文章的后面会详细的展开学习。

    组件的 children 是非常重要的一部分,children 也是组件当中一个必要的条件,因为没有 children 组件就不可能形成树形结构,那么描述界面的能力就会差很多。

    之前有一些比较流行的拖拽系统,我们可以把一些写好的 UI 组件拖到页面上,从而建立我们的系统界面。但是后面发现除了可以拖拽在某些区域之外,还需要一些自动排序,组件嵌套组件的功能需求。这个时候组件与组件之间没有树形结构就不好使了。

    最后组件在对象的基础上添加了很多语义相关的概念,也是这样使得组件变成了一种非常适合描述 UI 的概念。

    组件 Component

    我们用一张图来更深入的了解组件。

    组件最直接产生变化的来源就是用户的输入和操作,比如说当一个用户在我们的选择框组件中选中了一个选项时,这个时候我们的状态 state,甚至是我们的子组件 children 都会发生变化。

    图中右边的这几种情况就是组件的开发者与组件的关系。其中一种就是开发者使用了组件的标记代码 Markup Code,来对组件产生影响。其实,也就是开发者通过组件特性 Attribute 来更改组件的一些特征或者是特性。

    Attribute 是一种声明型的语言,也是标记型代码 Markup Code。而 Markup Code 也不一定是我们的 HTML 这种 XML 类的语言。在标记语言的大生态中,其实有非常多的语言可以用来描述一个界面的结构。但是最主流的就是基于 XML 体系的。在我们 Web 领域里面最常见的就是 XML 。而 JSX 也可以理解为一种嵌入在编程语言里面的 XML 结构。

    开发者除了可以用 Attribute,也可以用 Property 来影响组件。这个组件本身是有 Property(属性) 的,当开发者去修改一个组件的属性时,这个组件就会发生变化。而这个就是与对象中的 属性 Property 是一样的概念。

    AttributeProperty 是不是一样的呢?有的时候是,有的时候也不是,这个完全取决于组件体系的设计者。组件的实现者或者是设计者可以让 attributeproperty 统一。甚至我们把 stateconfigattributeproperty 四者都全部统一也是可以的。

    然后就是 方法 method,它是用于描述一个复杂的过程,但是在 JavaScript 当中的 Property 是允许有 getset 这样的方法的,所以最终 methodproperty 两者的作用也是差不多的。

    那么这里我们可以确定一个概念,使用组件的开发者会使用到 methodproperty,这些组件的要素。但是如果一个开发组件的开发者需要传递一个消息给到使用组件的程序员,这个时候就需要用到 事件 event。当一个组件内部因为某种行为或者事件触发到了变化时,组件就会给使用者发送 event 消息。所以这里的 event 的方向就是反过来的,从组件往外传输的。

    通过这张图我们就可以清楚知道组件的各个要素的作用,以及他们的信息流转方向

    特性 Attribute

    在所有组件的要素中,最复杂的无非就是 AttributeProperty

    我们从 Attribute 这个英文单词的理解上,更多是在强调描述性。比如,说我们描述一个人,头发很多、长相很帅、皮肤很白,这些都是属于 Attribute,也可以说是某一样东西的特性和特征方面的描述。

    Property 跟多的是一种从属关系。比如我们在开发中经常会发现一个对象,它有一个 Property 是另外一个对象,那么大概率它们之间是有一个从属关系的,子对象是从属于父对象。但是这里也有一种特殊情况,如果我们是弱引用的话,一个对象引用了另外一个对象,这样就是完全是另一个概念了。

    上面讲的就是这两个词在英文中的区别,但是在实际运用场景里面他们也是有区别的。

    因为 Property 是从属关系的,所以经常会在我们面向对象里面使用。而 Attribute 最初就是在我们 XML 里面中使用。它们有些时候是相同的,有些时候又是不同的。

    Attribute 对比 Property

    这里我们用一些例子来看看 Attribute 和 Property 的区别。我们可以看看它们在 HTML 当中不等效的场景。

    Attribute:

    <my-component attribute="v" />
    <script>
      myComponent.getAttribute('a')
      myComponent.setAttribute('a', value)
    </script>
    
    • HTML 中的 Attribute 是可以通过 HTML 属性去设置的
    • 同时也可以通过 JavaScript 去设置的

    Property:

    myComponent.a = 'value';
    
    • 这里就是定义某一个元素的 a = ‘value’
    • 这个就不是 attribute 了,而是 property

    很多同学都认为这只是两种不同的写法,其实它们的行为是有区别的。

    Class 属性

    <div class="class1 class2"></div>
    
    <script>
      var div = document.getElementByTagName('div');
      div.className // 输出就是 class1 class2	
    </script>
    

    早年 JavaScript 的 Class 是一个关键字,所以早期 class 作为关键词是不允许做为属性名的。但是现在这个已经被改过来了,关键字也是可以做属性名的。

    为了让这个关键字可以这么用,HTML 里面就做了一个妥协的设计。在 HTML 中属性仍然叫做 class 但是在 DOM 对象中的 property 就变成了 className。但是两者还是一个互相反射的关系的,这个神奇的关系会经常让大家掉一些坑里面。

    比如说在 React 里面,我们写 className它自动就把 Class 给设置了。

    Style 属性

    现在 JavaScript 语言中,已经没有 class 和 className 两者不一致的问题了。我们是可以使用 div.class 这样的写法的。但是 HTML 中就还是不支持 class 这个名字的,这个也就是一些历史包袱导致的问题。

    有些时候 Attribute 是一个字符串,而在 Property 中就是一个字符串语义化之后的对象。最典型的就是 Style

    <div class="class1 class2" style="color:blue"></div>
    
    <script>
      var div = document.getElementByTagName('div');
      div.style // 这里就是一个对象
    </script>
    

    在 HTML 里面的 Style 属性他是一个字符串,同时我们可以使用 getAttribute 和 setAttribute 去取得和设置这个属性。但是如果我们用这个 Style 属性,我们就会得到一个 key 和 vaule 的结构。

    Href 属性

    在 HTML 中 href 的 attribute 和 property 的意思就是非常相似的。但是它的 property 是经过 resolve 过的 url。

    比如我们的 href 的值输入的是 “//m.taobao.com”。这个时候前面的 http 或者是 https 协议是根据当前的页面做的,所以这里的 href 就需要编译一遍才能响应当前页面的协议。

    做过 http 到 https 改造的同学应该都知道,在让我们的网站使用 https 协议的时候,我们需要把所有写死的 http 或者 https 的 url 都要改成使用 //

    所以在我们 href 里面写了什么就出来什么的,就是 attribute。如果是经过 resolve 的就是我们的 property 了。

    <a href="//m.taobao.com"></a>
    <script>
      var a = document.getElementByTagName('a');
      // 这个获得的结果就是 "http://m.taobao.com", 这个 url 是 resolve 过的结果
      // 所以这个是 Property
      a.href;
      // 而这个获得的是 "//m.taobao.com", 跟 HTML 代码中完全一致
      // 所以这个是 Attribute
      a.getAttribute('href');
    </script>
    

    在上面的代码中我们也可以看到,我们可以同时访问 property 和 attribute。它们的语义虽然非常的接近,但是它们不是一样的东西。

    不过如果我们更改了任何一方,都会让另外一方发生改变。这个是需要我们去注意的现象。

    Input 和 value

    这个是最神奇的一对,而 value 也是特别的坑。

    我们很多都以为 property 和 attribute 中的 value 都是完全等效的。其实不是的,这个 attribute 中的 input 的 value 相当于一个 value 的默认值。不论是用户在 input 中输入了值,还是开发者使用 JavaScript 对 input 的 value 进行赋值,这个 input 的 attribute 是不会跟着变的。

    而在 input 的显示上是会优先显示 property,所以 attribute 中的 value 值就相当于一个默认值而已。这就是一个非常著名的坑,早期同学们有使用过 JQuery 的话,我们会觉得里面的 prop 和 attr 是一样的,没想到在 value 这里就会踩坑。

    所以后来 JQuery 库就出了一个叫 val 的方法,这样我们就不需要去想 attribute 还是 property 的 value,直接用它提供的 val 取值即可。

    这里一方面是一起增强一下 HTML 的 property 和 attribute 的知识。另一方面就是让我们认识到,就算是非常顶级的计算机专家设计的标签系统,也出现两个差不多的属性不等效的问题。那么如果让我们去设计一个标签系统,我们会让 property 和 attribute 等效还是不等效呢? 等学习完整个组件化的知识后,我们一起来回答一下这个问题。

    如何设计组件状态

    这里我们来分析一下,propertyattributestateconfig 在组件设计中都有什么区别。

    这里 Winer 老师给我们整理了一个表格,分成了四个场景:

    • Markup set —— 用标签去设置
    • JavaScript Set —— 使用 JavaScript 代码去设置
    • JavaScript Change —— 使用 JavaScript 代码去改变
    • User Input Change —— 终端用户的输入而改变
    Markup set JavaScript set JavaSscript Change User Input Change
    property
    attribute
    state
    config

    那么我们一个一个来讲述一下:

    • Property
      • ❌ 它是不能够被 markup 这种静态的声明语言去设置的
      • ✅ 但是它是可以被 JavaScript 设置和改变的
      • ❓ 大部分情况下 property 是不应该由用户的输入去改变的,但是小数情况下,可能是来源于我们的业务逻辑,才有可能会接受用户输入的改变
    • Attribute
      • ❓ 用户的输入就不一定会改变它,与 Property 同理
      • ✅ 是可以由 markup,JavaScript 去设置的,同时也是可以被 JavaScript 所改变的
    • State
      • ❌ 状态是会由组件内部去改变的,它不会从组件的外部进行改变。如果我们想设计一个组件是从外部去改变组件的状态的话,那么我们组件内部的 state 就失控了。因为我们不知道组件外部什么时候会改变我们组件的 state,导致我们 state 的一致性无法保证。
      • ✅ 但是作为一个组件的设计者和实践者,我们一定要保证用户输入是能改变我们组件的 state 的。比如说用户点击了一个 tab,然后点中的 tab 就会被激活,这种交互一般都会用 state 去控制的。
    • Config
      • ✅ Config 在组件中是一个一次性生效的东西,它只会在我们组件构造的时候触发。所以它是不可更改的。也是因为它的不可更改性,所以我们通常会把 config 留给全局。通常每个页面都会有一份 config,然后拿着这个在页面内去使用。

    组件生命周期 Lifecycle

    讲到生命周期,我们最容易想到的会有两个,一个是 created 一个是 destroy。世界万物的生命必定会有 出生死亡,这两个生命周期。

    那么在这两个开始与结束之间有什么生命周期呢?我们就需要想一下,一个组件在构造到销毁之间都会发生什么事情。

    一个组件有一个非常重要的事情,就是它被创建之后,它有没有被显示出来。这里就涉及生命周期中的 mount,也就是组件有没有被挂載到 “屏幕的这棵树上”。这个生命周期我们可以在 React 和 Vue 里面看到,我们经常会使用这个生命周期,在组件被挂載后做一些相应的初始化操作。

    有挂載那必然就会有卸载,所以组件中的 mountunmount 是一组生命周期。而这个挂載与卸载的整个生命周期是可以反复的发生的,我们可以挂上去然后卸下来,然后再挂上去,这样反复又反复的走这个生命周期。

    所以在 unmount 之后,我们是可以回到 created 构建组件的这个生命周期的状态。

    那么组件还会在什么时候发生状态更变呢?这里我们就有两种情况:

    • 程序员使用代码去改变或者设置这个组件的状态
    • 用户输入时影响了组件的状态

    比如说我们用户点了一下按钮或者 Tab,这个时候就会触发这个组件的状态更变。同时也会产生一个组件的生命周期,而这个生命周期就是 Render 渲染或者 Update 更新。

    所有这些生命周期加在一起就是我们一个组件完整的生命周期。我们看到的所谓 willMountdidMount 无非就是这个生命周期之中更细节的位置。下面我给大家附上一张完整的生命周期的图。


    Children

    最后我们来讲一下 Children (子组件)的概念。Children 是构建组件树最重要的一个组件特性,并且在使用中其实有两种类型的 Children:

    • Content 型 Children —— 我们有几个 Children,但是最终就能显示出来几个 Children。这种类型的 Children,它的组件树是非常简单的。
    • Template 型 Children —— 这个时候整个 Children 它充当了一个模版的作用。比如说我们设计一个 list,但是最后的结果不一定就与我们 Children 代码中写的一致。因为我们 List 肯定是用于多个列表数据的,所以 list 的表示数量是与我们传入组件的 data 数据所相关的。如果我们有 100 个实际的 children 时,我们的 list 模版就会被复制 100 份。

    在设计我们的组件树的 children 的时候,一定要考虑到这两种不同的场景。比如我们在 React中,它没有 template 型的 children,但是它的 children 可以传函数,然后这个函数可以返回一个 children。这个时候它就充当了一个模版型 children 的作用了。那么在 Vue 里面当我们去做一些无尽的滚动列表的时候,这个对 Vue 的模版型 children 就有一定的要求。

    结束语

    这里我们就学习完了整个组件的概念和知识了,下一篇文章我们就会一起来设计和搭建一个组件系统,并且了解到它的各方各面的实践知识。我们还会用一些典型的组件和典型的功能来让大家对组件的实现有一定的了解。



    博主开始在B站直播学习,欢迎过来《直播间》一起学习。

    我们在这里互相监督,互相鼓励,互相努力走上人生学习之路,让学习改变我们生活!

    学习的路上,很枯燥,很寂寞,但是希望这样可以给我们彼此带来多一点陪伴,多一点鼓励。我们一起加油吧! (๑ •̀ㅂ•́)و


    我是来自《技术银河》的三钻,一位正在重塑知识的技术人。下期再见。


    推荐专栏

    小伙伴们可以查看或者订阅相关的专栏,从而集中阅读相关知识的文章哦。

    • 📖 《前端进阶》 — 这里包含的文章学习内容需要我们拥有 1-2 年前端开发经验后,选择让自己升级到高级前端工程师的学习内容(这里学习的内容是对应阿里 P6 级别的内容)。

    • 📖 《数据结构与算法》 — 到了如今,如果想成为一个高级开发工程师或者进入大厂,不论岗位是前端、后端还是AI,算法都是重中之重。也无论我们需要进入的公司的岗位是否最后是做算法工程师,前提面试就需要考算法。

    • 📖 《FCC前端集训营》 — 根据FreeCodeCamp的学习课程,一起深入浅出学习前端。稳固前端知识,一起在FreeCodeCamp获得证书

    • 📖 《前端星球》 — 以实战为线索,深入浅出前端多维度的知识点。内含有多方面的前端知识文章,带领不懂前端的童鞋一起学习前端,在前端开发路上童鞋一起燃起心中那团火🔥

    展开全文
  • 组件化开发系列文章 1. Android组件化开发之一:为什么要进行组件化开发 2. Android组件化开发之二:组件化架构 3. Android组件化开发之三:组件化开发手册 4. Android组件化开发之四:组件化填坑之旅 5. Android...
  •   在进行组件化开发的时候,有时候需要对业务组件进行国际化的配置操作,但是又不想把这些文件放到主app中,针对这种情况我们可以把组件化的国际化配置文件放到组件中,由相关的组件开发人员进行配置,这样稳定性...
  • 组件化开发系列文章 1. Android组件化开发之一:为什么要进行组件化开发 2. Android组件化开发之二:组件化架构 3. Android组件化开发之三:组件化开发手册 4. Android组件化开发之四:组件化填坑之旅 5. Android...
  • Android组件化方案

    万次阅读 多人点赞 2017-02-15 19:01:52
    随着APP版本不断的迭代,新功能的不断增加,业务也会变的越来越复杂,APP业务模块的数量有可能还会继续增加,而且每个模块的代码也变的越来越多,这样发展下去单一工程下的APP架构势必会影响开发效率,增加项目的...
  • 关于组件化的文章很多,各方大神更是提出了各种的组件化方案,我也看了很多相关文章。但是学习新东西看的再多,不如动手做一次,先不考虑复杂的东西,先动手做个简单的Demo更有助于理解组件化的思想。组件化相关理论...
  • 组件化开发系列文章 1. Android组件化开发之一:为什么要进行组件化开发 2. Android组件化开发之二:组件化架构 3. Android组件化开发之三:组件化开发手册 4. Android组件化开发之四:组件化填坑之旅 5. Android...
  • 前端工程化、模块化、组件化

    千次阅读 多人点赞 2019-04-28 12:31:53
    而模块化和组件化是为工程化思想下相对较具体的开发方式,因此可以简单的认为模块化和组件化是工程化的表现形式。 前端工程化分为三个大阶段 技术选型 构建优化 模块化开发,组件化开发 模块化     ...
  • Android组件化和插件化的概念

    千次阅读 多人点赞 2020-11-10 15:43:17
    一、什么是组件化和插件化 组件化开发 就是将一个app分成多个模块,每个模块都是一个组件(Module),开发的过程中我们可以让这些组件相互依赖或者单独调试部分组件等,但是最终发布的时候是将这些组件合并统一...
  • 组件化开发

    千次阅读 2018-09-11 17:36:47
    转自: ... Android组件化项目地址:Android组件化项目AndroidModulePattern Android组件化之终极方案地址:http://blog.csdn.net/guiying712/article/details/78057...
  • Vue 组件化开发

    万次阅读 2018-12-20 15:50:21
    Vue 组件化开发 提示: 本次分享知识点基于 vue.js,需要对 vue.js 有一定的了解。 什么叫做组件化 vue.js 有两大法宝,一个是数据驱动,另一个就是组件化,那么问题来了,什么叫做组件化,为什么要组件化?接下来我...
  • 组件化在业界已经炒的水深火热,关于组件化的好处和组件化的方案网上已经有大篇的文章了。笔者通过拆分一个现有的demo来简单聊一下项目实施组件化的过程(将分为上、中、下三篇)。demo可以从github下载(下载之后...
  • 组件化和插件化

    千次阅读 2018-03-08 14:30:55
    组件化开发:将一个app分成多个模块,可以对每个模块进行独立调试,打包时最终发布将所有的组件统一合并成一个apk。 插件化开发:将整个app拆分成多个模块,每个模块都是一个独立的apk(组件化每个模块是个libraily...
  • Android组件化之组件通信

    千次阅读 2018-11-20 23:37:28
    本文是续上一篇Android组件化方案实践与思考文章一些思考,主要是针对组件间通信,比如: 每个组件如何初始化各自的数据 Activity间如何跳转、Fragment实例获取、如何调用普通类的函数 如何在一个组件中通知...
  • Android 组件化总结

    千次阅读 2018-06-12 14:44:57
    本文我们先来说一下一下组件化组件化很早就有了,网上也有很多例子。讲的都非常好,我这里也只是把自己在实际使用的情况做一下记录。 新项目中用到了组件化开发的思想。为什么要用到组件化呢? 因为本来公司项目...
  • iOS组件化(一)-为何做组件化

    千次阅读 2018-07-26 14:22:15
    我们在做组件化之前,必须要弄清楚,我们为什么要组件化,如果没有明显的优点,或者解决我们的所需,我们没有必要组件化。在app迭代如此快速的情况下,耗费时间精力去做这么一件事情到底值不值得? 一、组件化所...
  • angular 组件化

    万次阅读 2018-11-27 09:45:09
    在做sass产品页面的时候,往往每个页面的header和footer都是一样的...angular框架就支持这种组件化管理,不过也有优缺点,我先来说实现方法哈! index.html:没有用到路由,所以js都是src生引进来的   &lt;...
  • 前端模块化、组件化的理解

    千次阅读 2019-02-19 23:02:51
    前端模块化、组件化的理解 到底什么是前端工程化、模块化、组件化 前端组件化思想 浅谈前端架构的工程化、模块化、组件化、规范化
  • AngularJs 组件化

    千次阅读 2017-04-27 20:36:12
    Angular 组件化 常规的网页开发中,页面 header、footer和nav通常都是固定不变的,如果一遍一遍的写就会增加工作量,现在angular的组件化可以很方便的解决这一问题,接下来我就为大家演示一下angular组件化的应用吧~...
  • Android 开发:由模块化到组件化(一)

    万次阅读 多人点赞 2016-12-15 01:43:15
    组件化?到底是什么鬼?有啥区别. 有这种感觉才是对的,模块化和组件化本质思想是一样的,都是"大化小",两者的目的都是为了重用和解耦,只是叫法不一样.如果非要说区别,那么可以认为模块化粒度更小,更侧重于重用,而组件化...
  • Android模块化、组件化、插件化区别

    千次阅读 2019-04-23 10:55:39
    组件化(lib)主要解决问题是功能拆分,强调单独编译 插件化(application)是所有组件都为apk的特殊组件化,特点可热更新 通讯方式不同点: 模块化相互引入,需要引入需要的module 组件化通讯方式分为隐式和...
  • 安卓一步一步搭建组件化

    千次阅读 多人点赞 2020-11-09 20:20:05
    安卓组件化的搭建和基本功能的实现1.组件化是什么?1.1 了解组件化:1.2 组件化的基本结构:1.3 组件化的优点:2.组件化框架的搭建:2.1 第一步:搭建基础层2.1.1 创建config.gradle2.1.2 建立一个library模块作为...
  • Android组件化和插件化开发
  • Android组件化和插件化

    2019-01-17 22:50:45
    Android组件化方案 https://blog.csdn.net/guiying712/article/details/55213884   简书 谈谈我的理解-组件化/模块化 https://www.jianshu.com/p/79e4df63f31f 阿里ARouter开源组件化框架项目实践 ...
  • APP组件化

    千次阅读 2018-05-12 19:56:37
    组件化 最近做的一个项目,从一开始就在赶进度,所以没有仔细的去考虑架构的事情,然后在增加新的业务的时候,发现代码越来越臃肿,很难进行并行开发,模块与模块之间耦合严重,因此就想彻底的重构一下代码。 重构...
  • 模块化到组件化

    千次阅读 2018-03-08 11:54:05
    组件化:每个组件是一个独立的app。每个组件都有自己独立的版本,可以独立的编译,测试,打包和部署 开发的架构的历史: 1)单工程开发模型:最早的开发模型 这种工程模式,随着业务的增加,项目越来越不好维护,...

空空如也

1 2 3 4 5 ... 20
收藏数 75,789
精华内容 30,315
关键字:

组件化