angular内置provider之$compileProvider详解
发布时间 - 2026-01-11 03:25:44 点击率:次一、方法概览

1.directive(name, directiveFactory)
2.component(name, options)
3.aHrefSanitizationWhitelist([regexp]);
4.imgSrcSanitizationWhitelist([regexp]);
5.debugInfoEnabled([enabled]);
6.strictComponentBindingsEnabled([enabled]);
7.onChangesTtl(limit);
8.commentDirectivesEnabled(enabled);
9.cssClassDirectivesEnabled(enabled);
二、方法解释
1、directive(name, directiveFactory)
使用compiler注册一个指令
参数:
name:string,指令的名称。
directiveFactory:function,指令构造工厂函数。
return:
返回自身,以供链式调用。
2、component(name, options)
使用compiler注册一个组件,组件是一种特殊的指令,它自包含了UI,并且总是默认使用独立作用域和restrict: 'E'。组件的定义是简单的,options是一个包含了一系列属性的对象,并且总是强制使用最好的实践,例如controllerAS:$ctrl。
参数:
name:组件的名称。
options:一个对象,包含以下可选的属性。
controller:string|function,指令的控制器,字符串代表一个被注入到该模块的控制器的名称。
controllerAS:string,控制器的一个引用,默认是'$ctrl‘,如果被定义则scope上会有一个该名称的属性,例如scope.$ctrl,那么我们在html中就可以这样使用控制器中的属性,例如<div>{{$ctrl.name}}<div>
template:string|function,组件的模板,如果是函数,则函数有以下两个参数,
$element:当前元素。
$attrs:当前元素属性对象。
templateUrl:string|function,组件模板的路径,如果是函数,则参数和以上template相同。
bindings:一个对象,用于元素的属性和组件属性之间的绑定,并且绑定的值总是绑定到组件的控制器上而不是scope上,详情请查阅bingToController。
transclude:boolean,是否允许嵌入内容,默认false。
require:一个对象,需要其他指令的控制器被绑定到组件的控制器,对象的键指向属性名称,对象的值是其他指令控制器的名称。
$...:额外的属性被添加到指令工厂函数和控制器构造器函数。(这被使用于为组件路由提供注解)
return:
返回自身,用于链式调用。
3、aHrefSanitizationWhitelist([regexp])
恢复或者覆盖白名单urls安全列表的正则表达式,主要用于阻止通过html链接进行的xss攻击。任何将要通过数据绑定到a[href]的urls首先都要经过初始化并转化为一个绝对url,如果这个url匹配aHrefSanitizationWhitelist的正则表达式规则,则会被添加到DOM中,否则转化后的url将会加上'unsafe:‘前缀后才能被加入到DOM中。
参数:
regexp:RegExp,新的白名单正则表达式。
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() -->
参数:
enabled:boolean
return:
如果包含参数则返回自身,否则返回现在的debug状态。
6、strictComponentBindingsEnabled([enabled])
是否开启严格的component bindings检查,如果开启,则除了那些包含了?的bindings,全部都要求在html标签中指定相应的属性。
默认false
参数和返回值和以上debug相同。
7、onChangesTtl(limit)
在复杂的应用程序中,$onChanges钩子和bindings之间的依赖性可能会导致对这些钩子的多个调用迭代,该函数可以设置迭代的次数。
默认是10次。
参数:
limit:integer,迭代的次数。
return:
如果设置了limit则返回自身,否则返回已经设置的limit。
8、commentDirectivesEnabled(enabled)
表明是否编译注释形式的指令,如果禁用将会提高编译的性能,因为编译器不需要去检查注释当编译指令的时候。
默认是true,开启。
参数和返回值和onChangesTtl(limit)类似。
9、cssClassDirectivesEnabled(enabled)
表明是否编译Class形式的指令,如果禁用将会提高编译的性能,因为编译器不需要去检查Class当编译指令的时候。
默认是true,开启。
参数和返回值和onChangesTtl(limit)类似。
以上这篇angular内置provider之$compileProvider详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# provider
# compileProvider
# 绑定
# 链式
# 将会
# 正则表达式
# 包含了
# 返回值
# 要去
# 给大家
# 迭代
# 不需
# 主要用于
# 以供
# 是一个
# 是一种
# 最好的
# 都要
# 多个
# 希望能
# 不存在
# 可选
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何发送系统通知?(Notification渠道示例)
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
Laravel如何为API编写文档_Laravel API文档生成与维护方法
如何在阿里云通过域名搭建网站?
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解
如何在景安云服务器上绑定域名并配置虚拟主机?
Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置
🚀拖拽式CMS建站能否实现高效与个性化并存?
*服务器网站为何频现安全漏洞?
LinuxShell函数封装方法_脚本复用设计思路【教程】
Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道
如何快速搭建高效香港服务器网站?
香港服务器租用每月最低只需15元?
如何用wdcp快速搭建高效网站?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
如何在Windows虚拟主机上快速搭建网站?
php打包exe后无法访问网络共享_共享权限设置方法【教程】
Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
用yum安装MySQLdb模块的步骤方法
Win11怎么设置默认图片查看器_Windows11照片应用关联设置
Laravel如何使用Vite进行前端资源打包?(配置示例)
Laravel如何处理异常和错误?(Handler示例)
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
如何挑选高效建站主机与优质域名?
php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】
JS去除重复并统计数量的实现方法
Python面向对象测试方法_mock解析【教程】
Laravel API资源类怎么用_Laravel API Resource数据转换
微信小程序制作网站有哪些,微信小程序需要做网站吗?
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
如何快速上传自定义模板至建站之星?
如何在宝塔面板中创建新站点?
如何在宝塔面板中修改默认建站目录?
如何在阿里云域名上完成建站全流程?
浅谈Javascript中的Label语句
如何基于云服务器快速搭建个人网站?
如何基于云服务器快速搭建网站及云盘系统?
EditPlus中的正则表达式实战(5)
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
Win11怎么开启自动HDR画质_Windows11显示设置HDR选项
uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
文字头像制作网站推荐软件,醒图能自动配文字吗?
Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程
Laravel如何处理文件下载请求?(Response示例)
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权

