博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AngularJS笔记整理 内置指令与自定义指令
阅读量:6445 次
发布时间:2019-06-23

本文共 3171 字,大约阅读时间需要 10 分钟。

具体指令参考API 


 

form指令(用于表单验证)

  1. html原生的form表单不能嵌套,而angular封装后可以嵌套,并为form扩展了自动校验,防止重复提交等功能
  2. angular对iinput的元素type进行了扩展,一共提供以下10中类型  text number url email radio checkbox hidden button submit reset 
  3. 内置4种CSS样式
  4. 内置校验器

 

自定义指令

1.实现效果(下拉和展开)

 

HTML

 

1  2      3         
4
5 6 7 8 9
10
11 {
{text}}12
13
14 15

 

JS

var expanderModule=angular.module('expanderModule', []);expanderModule.directive('expander', function() {    return {        restrict : 'EA',        replace : true,        transclude : true,        scope : {            title : '=expanderTitle'        },        template : '
' + '
{
{title}}
' + '
' + '
', link : function(scope, element, attrs) { scope.showMe = false; scope.toggle = function() { scope.showMe = !scope.showMe; } } }});expanderModule.controller('SomeController',function($scope) { $scope.title = '点击展开'; $scope.text = '这里是内部的内容。';});

 


 

 

2.实现效果

 

HTML

            
{
{expander.text}}

 

JS

var expModule=angular.module('expanderModule',[])expModule.directive('accordion', function() {    return {        restrict : 'EA',        replace : true,        transclude : true,        template : '
', controller : function() { var expanders = []; this.gotOpened = function(selectedExpander) { angular.forEach(expanders, function(expander) { if (selectedExpander != expander) { expander.showMe = false; } }); } this.addExpander = function(expander) { expanders.push(expander); } } }});expModule.directive('expander', function() { return { restrict : 'EA', replace : true, transclude : true, require : '^?accordion', scope : { title : '=expanderTitle' }, template : '
' + '
{
{title}}
' + '
' + '
', link : function(scope, element, attrs, accordionController) { scope.showMe = false; accordionController.addExpander(scope); scope.toggle = function toggle() { scope.showMe = !scope.showMe; accordionController.gotOpened(scope); } } }});expModule.controller("SomeController",function($scope) { $scope.expanders = [{ title : 'Click me to expand', text : 'Hi there folks, I am the content that was hidden but is now shown.' }, { title : 'Click this', text : 'I am even better text than you have seen previously' }, { title : 'Test', text : 'test' }];});

 


 

资源链接

Angular UI 第三方指令库

http://angular-ui.github.io/

 

转载于:https://www.cnblogs.com/zry2510/p/5972962.html

你可能感兴趣的文章
MySQL InnoDB 存储引擎探秘
查看>>
Spring 源码探险01 概念
查看>>
MySQL学习笔记
查看>>
mpvue小程序《校友足迹》成长记(一)
查看>>
智能聊天机器人语料库的设计编写(一)——Dialogflow
查看>>
译-Django restfull framework 中API版本的管理
查看>>
设计模式之代理模式
查看>>
对内对外烧钱,还顾自去门店化,独角兽爱屋吉屋终将归隐?
查看>>
@angular-devkit
查看>>
Spring Boot 注解
查看>>
iOS 用runtime为分类添加成员变量或属性
查看>>
React Diff理解
查看>>
# mac本 git 起别名
查看>>
<笔记>变量、作用域和内存问题
查看>>
Spring Cloud Alibaba与Spring Boot、Spring Cloud之间不得不说的版本关系
查看>>
峰采 #2
查看>>
工程优化暨babel升级小记
查看>>
学习webpack4 - 样式处理
查看>>
编写的第一个POC代码
查看>>
Python 进阶之路 (十) 再立Flag, 社区最全的itertools深度解析(中)
查看>>