angular内置provider之$compileProvider详解
一、方法概览
1.directive(name, directiveFactory)
2.ponent(name, options)
3.aHrefSanitizationWhitelist([regexp]);
4.imgSrcSanitizationWhitelist([regexp]);
5.debugInfoEnabled([enabled]);
6.strictComponentBindingsEnabled([enabled]);
7.onChangesTtl(limit);
8.mentDirectivesEnabled(enabled);
9.cssClassDirectivesEnabled(enabled);
二、方法解释
1、directive(name, directiveFactory)
使用piler注册一个指令
参数
namestring,指令的名称。
directiveFactoryfunction,指令构造工厂函数。
return
返回自身,以供链式调用。
2、ponent(name, options)
使用piler注册一个组件,组件是一种特殊的指令,它自包含了UI,并且总是默认使用独立作用域和restrict: 'E'。组件的定义是简单的,options是一个包含了一系列属性的对象,并且总是强制使用最好的实践,例如controllerAS$ctrl。
参数
name组件的名称。
options一个对象,包含以下可选的属性。
controllerstring|function,指令的控制器,字符串代表一个被注入到该模块的控制器的名称。
controllerASstring,控制器的一个引用,默认是'$ctrl‘,如果被定义则scope上会有一个该名称的属性,例如scope.$ctrl,那么我们在html中就可以这样使用控制器中的属性,例如<div>{{$ctrl.name}}<div>
templatestring|function,组件的模板,如果是函数,则函数有以下两个参数,
$element当前元素。
$attrs当前元素属性对象。
templateUrlstring|function,组件模板的路径,如果是函数,则参数和以上template相同。
bindings一个对象,用于元素的属性和组件属性之间的绑定,并且绑定的值总是绑定到组件的控制器上而不是scope上,详情请查阅bingToController。
transcludeboolean,是否允许嵌入内容,默认false。
require一个对象,需要其他指令的控制器被绑定到组件的控制器,对象的键指向属性名称,对象的值是其他指令控制器的名称。
$...额外的属性被添加到指令工厂函数和控制器构造器函数。(这被使用于为组件路由提供注解)
return
返回自身,用于链式调用。
3、aHrefSanitizationWhitelist([regexp])
恢复或者覆盖白名单urls安全列表的正则表达式,主要用于阻止通过html链接进行的xss攻击。任何将要通过数据绑定到a[href]的urls都要经过初始化并转化为一个绝对url,如果这个url匹配aHrefSanitizationWhitelist的正则表达式规则,则会被添加到DOM中,否则转化后的url将会加上'unsafe:‘前缀后才能被加入到DOM中。
参数
regexpRegExp,新的白名单正则表达式。
return
如果参数不存在则返回现在的正则表达式,否则返回自身以供链式调用。
4、imgSrcSanitizationWhitelist([regexp])
和以上aHrefSanitizationWhitelist类似,不过这个是设置img[src]的白名单正则表达式。
5、debugInfoEnabled([enabled])
主要用于开启和关闭运行时的debug信息,默认是true,例如为绑定的元素添加以下信息
'ng-binding' CSS Class。
'ng-scope‘和'ng-isolated-scope‘ CSS Class。
'$binding‘一个数组,包含了绑定的表达式。
占位符注释将会包含是什么指令或者binding引发了这个占位符,例如<!-- ngIf: shouldShow() -->
参数
enabledboolean
return
如果包含参数则返回自身,否则返回现在的debug状态。
6、strictComponentBindingsEnabled([enabled])
是否开启严格的ponent bindings检查,如果开启,则除了那些包含了?的bindings,全部都要求在html标签中指定相应的属性。
默认false
参数和返回值和以上debug相同。
7、onChangesTtl(limit)
在复杂的应用程序中,$onChanges钩子和bindings之间的依赖性可能会导致对这些钩子的多个调用迭代,该函数可以设置迭代的次数。
默认是10次。
参数
limitinteger,迭代的次数。
return
如果设置了limit则返回自身,否则返回已经设置的limit。
8、mentDirectivesEnabled(enabled)
表明是否编译注释形式的指令,如果禁用将会提高编译的性能,因为编译器不需要去检查注释当编译指令的时候。
默认是true,开启。
参数和返回值和onChangesTtl(limit)类似。
9、cssClassDirectivesEnabled(enabled)
表明是否编译Class形式的指令,如果禁用将会提高编译的性能,因为编译器不需要去检查Class当编译指令的时候。
默认是true,开启。
参数和返回值和onChangesTtl(limit)类似。
以上这篇angular内置provider之$pileProvider详解就是长沙网络推广分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持狼蚁SEO。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程