js里面的compile,js里面的$是什么意思
更新:2022-11-19 11:42
本文目录一览:
- angularjs的$compile函数如何配合apendTo使用???急急急,在线等~
- AngularJS的指令 compile和link的区别及使用示例
- JS正则表达式详解
- angular里.dirrective里的 compile什么意思
- angularjs中指令中的compile参数是在什么时候运行的
angularjs的$compile函数如何配合apendTo使用???急急急,在线等~
tbody id="tblPresetPositionList" style="width:100%;"
加个class:
tbody id="tblPresetPositionList" class="tableA" style="width:100%;"
然后改成下面这样:
$dom.appendTo('.tableA');
AngularJS的指令 compile和link的区别及使用示例
controller,link,compile有什么不同:
phonecatDirectives.directive('exampleDirective', function() {
return {
restrict: 'E',
template: '<p>Hello {{number}}!</p>',
controller: function($scope, $element) {
$scope.number = $scope.number + "22222 ";
},
link: function(scope, el, attr) {
scope.number = scope.number + "33333 ";
},
compile: function(element, attributes) {
return {
pre: function preLink(scope, element, attributes) {
scope.number = scope.number + "44444 ";
},
post: function postLink(scope, element, attributes) {
scope.number = scope.number + "55555 ";
}
};
}
};
});
// controller.js添加
dtControllers.controller('directive2', ['$scope',
function($scope) {
$scope.number = '1111 ';
}
]);
<!-- html -->
<body ng-app="phonecatApp">
<div ng-controller="directive2">
<example-directive></example-directive>
</div>
</body>
运行结果:
Hello 1111 22222 44444 55555 !
JS正则表达式详解
RegExp是JS的正则表达式对象,实例化一个RegExp对象有字面量和构造函数两种方式。
字面量实例化RegExp对象
var reg = /js/gi;
开始和结束的斜线/
是正则表达式的边界,//
中间的文本是正则表达式文本,后面的gi
是正则表达式的修饰符。
构造函数实例化RegExp对象
var reg = new RegExp('js', 'gi');
第一个参数是正则表达式文本,第二个参数是正则表达式修饰符。
属性
global
:RegExp 对象是否具有标志g
。ignoreCase
:RegExp 对象是否具有标志i
。lastIndex
:一个整数,标示开始下一次匹配的字符位置。multiline
:RegExp 对象是否具有标志m
。source
:正则表达式的源文本。
方法
test()
:检索字符串中的指定值。返回值是true
或false
。exec()
:检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回null
。compile()
:用于改变 RegExp。
示例
var reg = /js/gi;
var result = reg.test('I like js');
// 结果:true
var result = reg.exec('I like JS');
// 结果:JS
修饰符
g
:global全文搜索,如果不添加此参数,搜索到第一个匹配就会停止。i
:ignore case 不区分大小写,默认是区分大小写的。m
:multiple lines 多行搜索,默认只搜索第一行。
元字符
\b
、\w
、\d
、+
、*
、?
等。
字符类
[abc123]
:表示有其中一个字符串都可以匹配。[a-zA-z0-9-]
:可以匹配26个大小写字母和0-9的全部数字以及横线-
。
预定义类
\w
:等价于范围类[A-Za-z0-9_]
。.
:可以匹配除\n
之外的任何单个字符。
边界
- 以字符串开始或结尾的边界,另一种是单词边界。
量词
- 默认是贪婪模式匹配,可以使用
?
切换为非贪婪模式。
分组
- 使用
()
定义一个分组,使元字符可以作用于一个表达式字符串组合。
前瞻
- 正向前瞻:
exp(?=assert)
,如\w(?=\d)
。 - 负向前瞻:
exp(?!assert)
,如\w(?!\d)
。
其他方法
match()
:在字符串内检索指定的值。search()
:忽略标志g
,总是从字符串的开始进行检索。replace()
:查找并替换操作。split()
:分割字符串。
angular里.dirrective里的 compile什么意思
$compile
在 Angular 中即“编译”服务,它涉及到 Angular 应用的“编译”和“链接”两个阶段。根据从 DOM 树遍历 Angular 的根节点(ng-app
)和已构造完毕的 $rootScope
对象,依次解析根节点后代,根据多种条件查找指令,并完成每个指令相关的操作(如指令的作用域,控制器绑定以及 transclude 等),最终返回每个指令的链接函数,并将所有指令的链接函数合成为一个处理后的链接函数,返回给 Angular 的 bootstrap 模块,最终启动整个应用程序。
angularjs中指令中的compile参数是在什么时候运行的
在生成 DOM 后扫描并生成。
AngularJS 肯定是在 DOM 节点树生成后开始管理节点的,生成后寻找 ng-app
标记,然后其下属所有节点均由 ng 来管理。使用 compile
可以改变原始的 dom,在 ng 创建原始 dom 实例以及创建 scope 实例之前。
ng-repeat
就是一个最好的例子,它就在是 compile
函数阶段改变原始的 dom 生成多个原始 dom 节点,然后每个又生成 element 实例。