bootstrap有强大的指令系统,可以自定义一些属性,基本知识请移步:http://angularjs.cn/A00r  http://www.cnblogs.com/lvdabao/p/3391634.html

我参考这两篇文章所述,封装了bootstrap的alert和panel控件,现将代码简单的贴出来。

注:目前我对ng了解非常浅,没有关注细节,实现功能第一位,我觉得比较合适的学习路线是,先用起来,在用的过程中不断深入。

第一步:注册module

angular.module('app.directives', [])

第二步:定义指令

1.alert的封装,这个是最简单的了,只是div上面多了两个class而已

angular.module('app.directives', [])
.directive('successtip', function () {
return {
restrict: 'E',
template: '<div class="alert alert-success" role="alert" ng-transclude></div>',
replace: true,
transclude: true
} })

2.panel的封装,特点:多层标签嵌套

特别注意的点是:ng-transclude,这个写到哪里,完了之后,你的标签中的内容就会填充在那个节点下面,比如panelheader的定义,用户将来使用时

<panelheader>content</panelheader>,这里的content会填充到h3下面,而不是div下面.

.directive('panel', function () {
return {
restrict: 'E',
template: '<div class="panel panel-danger" ng-transclude></div>',
replace: true,
transclude: true
}
})
.directive('panelheader', function () {
return {
restrict: 'E',
template: '<div class="panel-heading"><h3 class="panel-title" ng-transclude></h3></div>',
replace: true,
transclude: true
}
})
.directive('panelbody', function () {
return {
restrict: 'E',
template: ' <div class="panel-body" ng-transclude></div>',
replace: true,
transclude: true
}
});

如果你的模板比较复杂,不适合用一个string来写,那你可以用html模板来放置,只是在directive方法中,你就不能写template了,而是要写templateurl,路径是你定义的html模板的路径。

第三步:使用

这个时候,使用起来就不需要记那些繁琐的css和div的层级结构了,只需要记住标签的层级结构就好,这样子我个人的感觉是有点面向对象编程的意思了,比较容易理解和记忆。

1.alert的使用

<successtip>登录成功</successtip>

显示效果:

2.panel的使用

 <panel>
<panelheader> panel healer</panelheader>
<panelbody>panel Body</panelbody>
</panel>

显示效果:

对于一些复杂的控件,这个封装就会大大减少开发工作量,我这个目前还是有问题的,我现在是每个颜色都需要封装一次,我觉得是会有办法在上面加个属性能让他们显示为不同颜色的。待续...

【AngularJS学习笔记】封装一些简单的控件(封装成Html标签)的更多相关文章

  1. C# 学习笔记 三层架构系列(控件一)

    下面是我两周的学习总结:这是我写给自己的,如果哪位朋友有幸看到这篇文章就是缘分.如果所说的内容不对,就请纠正.勿喷!!! 想要将两周的学习知识通过文字.通过代码.通过图片储备起来,以防自己那天思维短路 ...

  2. Android学习笔记(七)——常见控件

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! Android 给我们提供了大量的 UI控件,下面我们简单试试几种常用的控件. 一.TextView 在布局文 ...

  3. .net core 学习笔记(1)-分页控件的使用

    最近有个小项目,用.net core开发练练手,碰到的第一个问题就是分页控件的问题,自己写太费时间,上网查了下,发现有人已经封装好了的,就拿过来用了,分页控件github:https://github ...

  4. Java学习笔记——可视化Swing中JTable控件绑定SQL数据源的两种方法

    在 MyEclipse 的可视化 Swing 中,有 JTable 控件. JTable 用来显示和编辑常规二维单元表. 那么,如何将 数据库SQL中的数据绑定至JTable中呢? 在这里,提供两种方 ...

  5. Swift学习之函数和简单地控件的创建

     今天还是重复昨天做的事情--敲代码,但唯一的不同就是所学的知识不同了,我们又进一步往深得层次学习了,感觉越来越有意思了,虽然临近结束了看着大家积极性越来越低了,但是我知道我不能这样,我要比别人付出的 ...

  6. Android学习笔记50:使用WebView控件浏览网页

    在Android中,可以使用Webview控件来浏览网页.通过使用该控件,我们可以自制一个简单的浏览器,运行效果如图1所示. 图1 运行效果 1.WebView 在使用WebView控件时,首先需要在 ...

  7. 【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.10.Button 和 Autocomplete控件

    Button ,可以使用 <button> <input> <a>. <input> 中的不同类型,submit , radio , checkbox ...

  8. Excel开发学习笔记:界面交互与控件的布局

    遇到一个数据处理自动化的问题,于是打算开发一个基于excel的小工具.在业余时间一边自学一边实践,抽空把一些知识写下来以备今后参考,因为走的是盲人摸象的野路子,幼稚与错误请多包涵. , ).value ...

  9. Tornadofx学习笔记(2)——FxRecyclerView控件的打造

    Tornadofx是基于javafx的一个kotlin框架,用来写些电脑版的小程序 基于Scroll Pane控件,仿造Android中的RecyclerView,实现的一款tornadofx的控件 ...

随机推荐

  1. shell编程之export

    shell 与 export命令用户登录到Linux系统后,系统将启动一个用户shell.在这个shell中,可以使用shell命令 或声明变量,也可以创建并运行shell脚本程序.运行shell脚本 ...

  2. 深入浅出ConcurrentHashMap1.8

    转载:https://www.jianshu.com/p/c0642afe03e0 好文 关于文章中的疑问:为什么要构造一个反序链表,放在nextTable的i+n的位置上呢,在<深入分析Con ...

  3. 在WinServer上安装小红伞杀毒软件的经验总结

    作者:朱金灿 来源:http://blog.csdn.net/clever101 在WinServer2008或WinServer2012不能直接安装小红伞杀毒软件的免费版,需要安装服务器版.我手头并 ...

  4. Python爬虫教程-25-数据提取-BeautifulSoup4(三)

    Python爬虫教程-25-数据提取-BeautifulSoup4(三) 本篇介绍 BeautifulSoup 中的 css 选择器 css 选择器 使用 soup.select 返回一个列表 通过标 ...

  5. 阿里云上面部署mysql

    0.卸载已有的mysql 系统中可能早已存在mysql数据库,所以在安装之前我们需要将其卸载掉. # rpm -qa|grep -i mysql 该命令将显示已经安装了的mysql软件,之后通过下面的 ...

  6. Android之自定义View以及画一个时钟

    https://www.2cto.com/kf/201509/443112.html 概述: 当Android自带的View满足不了开发者时,自定义View就发挥了很好的作用.建立一个自定义View, ...

  7. OLED中的Demura

    OLED作为一种电流型发光器件已越来越多地被应用于高性能显示中.由于它自发光的特性,与LCD相比,AMOLED具有高对比度.超轻薄.可弯曲等诸多优点.但是,亮度均匀性和残像仍然是它目前面临的两个主要难 ...

  8. CVE-2013-3897漏洞成因与利用分析

    CVE-2013-3897漏洞成因与利用分析 1. 简介 此漏洞是UAF(Use After Free)类漏洞,即引用了已经释放的内存.攻击者可以利用此类漏洞实现远程代码执行.UAF漏洞的根源源于对对 ...

  9. sql server alter column 由于一个或多个对象访问此列,ALTER TABLE ALTER COLUMN 失败

    今天在修改一个字段类型,由原来的 varchar(500) 增加到 varchar(1000) 则对应的SQL 语句,执行后如图错误 结果查下来是因为其中一个视图建成了索引视图, 解决办法:先将该视图 ...

  10. <!--注释-->和<%--注释--%>有什么区别

    转载:版权所有:基础软件.作者邮箱:s.j.l.studio@hotmail.com,sun.j.l.studio@gmail.com.本文首发于 http://www.cnblogs.com/Fou ...