• Angular 4 自定义组件封装遇见的一些事儿



    你用Angular 吗?

    一.介绍

        说说封装Angular 组建过程中遇见的一些问题和感悟。用久了Angular,就会遇见很多坑,许多基于Angular开发的框架最喜欢做的事情就是封装组件,然后复用.....因为这是最省事的。

    二.基本构建组件思想


    界面构建草图

      简要介绍上图:

        1.View 就是我们需要完成的界面,但是界面无非就是由若干个label,button,table,img,list等一些基本控件构成的,所有的前端页面构成都是一样,只是加上CSS排版确定最后的显示效果。

        2.五种基类,其实不止五种,只是列举。这里就需要我们将基类都封装成组件的形式,对外提供组件标签就可以使用。不管构建多少个页面,都可以用这几个基本组件完成。

      eg:一个button组件


    button.component.html

      这个Button组件里面是还包裹一个label组件的。


    button.component.ts

      对外只用提供选择器,就可以使用Button了。

    3.可是为什么还要有中间的UIbuileder呢?

    是这样的,每次引选择器名是不是也很麻烦,看起来没有省力多少,

    封装的基本组件只需要对外抛出一个TYPEID,UIbuilder只要知道1是代表button组件,2代表label组件,UIbuilder将组件构建出来。


    UIBuilder.html 构建组建图

      VIEW界面需要Button给我传一个1,需要label传一个2,需要什么传对于的id就行。此时的界面和组件是完全分离的,这样构件界面的时候几乎可以没有代码就出来一个页面啦。而且下次用的时候,基类是完全不用动的。

    三.样式控制。

    也许你会觉得这样构件出来的只有最简单的页面,那么样式呢?

    的确呀,这样就是很老土的界面,那么样式要怎么实现呢?

    其实Angular 提供了很多的方法的。

    1.一张样式表,定义所有的样式。相当于boostrap一样。


    button样式定义

      都知道{{}}的定义,你只要在最外面将你需要的样式名传进来就可以啦。

    2.代码修改样式

      ElementRef ,Renderer2  有多少人知道这两个属性的。


    代码修改样式

        这种都是可以在外部修改样式的,你的基组件不需要改动。

        可能看起来费劲,但用起来好处很多,不用copy,copy了,而且你的思想也会到一个新的境界。

      其实,我用Angular有一段时间了,如果你也是,欢迎来交流。

    文章迁移至 http://www.sulishibaobei.com 欢迎访问
  • 相关阅读:
    做了48小时爸爸的感觉!
    利用Session和HashTable制作购物车
    vs2005控件演示之 Literal
    vs2005/.net2.0 控件实例之 下拉列表《DropDownList》
    vs2005/.net2.0 控件实例之 单选按纽和复选框 <RadioButton><CheckBox>
    vs2005/.net2.0 控件实例之 单选列表和复选列表
    一个被大多数初级程序员忽略的安全问题 [严重]
    使用Northwind和Entity框架的ASP.NET MVC实例发布
    对话Spring.NET
    揭开HTML 5工作草稿的神秘面纱
  • 原文地址:https://www.cnblogs.com/sulishibaobei/p/7413813.html
Copyright © 2020-2023  润新知