js里面的compile,js里面的$是什么意思

发布时间:2023-12-08

js里面的compile,js里面的$是什么意思

更新:2022-11-19 11:42

本文目录一览:

  1. angularjs的$compile函数如何配合apendTo使用???急急急,在线等~
  2. AngularJS的指令 compile和link的区别及使用示例
  3. JS正则表达式详解
  4. angular里.dirrective里的 compile什么意思
  5. 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():检索字符串中的指定值。返回值是 truefalse
  • 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 实例。