当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript change_detection.BindingRecord类代码示例

本文整理汇总了TypeScript中angular2/change_detection.BindingRecord的典型用法代码示例。如果您正苦于以下问题:TypeScript BindingRecord类的具体用法?TypeScript BindingRecord怎么用?TypeScript BindingRecord使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了BindingRecord类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: _createDirectiveRecords

  _createDirectiveRecords(bindings: List<BindingRecord>, boundElementIndex: number,
                          directiveBinders: List<renderApi.DirectiveBinder>,
                          allDirectiveMetadatas: List<renderApi.DirectiveMetadata>) {
    for (var i = 0; i < directiveBinders.length; i++) {
      var directiveBinder = directiveBinders[i];
      var directiveMetadata = allDirectiveMetadatas[directiveBinder.directiveIndex];
      var directiveRecord = this._getDirectiveRecord(boundElementIndex, i, directiveMetadata);

      // directive properties
      MapWrapper.forEach(directiveBinder.propertyBindings, (astWithSource, propertyName) => {
        // TODO: these setters should eventually be created by change detection, to make
        // it monomorphic!
        var setter = reflector.setter(propertyName);
        ListWrapper.push(bindings, BindingRecord.createForDirective(astWithSource, propertyName,
                                                                    setter, directiveRecord));
      });

      if (directiveRecord.callOnChange) {
        ListWrapper.push(bindings, BindingRecord.createDirectiveOnChange(directiveRecord));
      }
      if (directiveRecord.callOnInit) {
        ListWrapper.push(bindings, BindingRecord.createDirectiveOnInit(directiveRecord));
      }
      if (directiveRecord.callOnCheck) {
        ListWrapper.push(bindings, BindingRecord.createDirectiveOnCheck(directiveRecord));
      }

      // host properties
      MapWrapper.forEach(directiveBinder.hostPropertyBindings, (astWithSource, propertyName) => {
        var dirIndex = new DirectiveIndex(boundElementIndex, i);
        ListWrapper.push(
            bindings, BindingRecord.createForHostProperty(dirIndex, astWithSource, propertyName));
      });
    }
  }
开发者ID:SnackyPete,项目名称:angular,代码行数:35,代码来源:proto_view_factory.ts

示例2:

 MapWrapper.forEach(directiveBinder.propertyBindings, (astWithSource, propertyName) => {
   // TODO: these setters should eventually be created by change detection, to make
   // it monomorphic!
   var setter = reflector.setter(propertyName);
   ListWrapper.push(bindings, BindingRecord.createForDirective(astWithSource, propertyName,
                                                               setter, directiveRecord));
 });
开发者ID:CADBOT,项目名称:angular,代码行数:7,代码来源:proto_view_factory.ts

示例3: notifyOnBinding

 // dispatch to element injector or text nodes based on context
 notifyOnBinding(b: BindingRecord, currentValue: any): void {
   if (b.isElement()) {
     this.renderer.setElementProperty(this.render, b.elementIndex, b.propertyName, currentValue);
   } else {
     // we know it refers to _textNodes.
     this.renderer.setText(this.render, b.elementIndex, currentValue);
   }
 }
开发者ID:188799958,项目名称:angular,代码行数:9,代码来源:view.ts

示例4: _createChangeDetectorDefinition

function _createChangeDetectorDefinition(id: string, propName: string,
                                         expression: string): ChangeDetectorDefinition {
  var ast = _parser.parseBinding(expression, 'location');
  var bindingRecords = [BindingRecord.createForElement(ast, 0, propName)];

  var strategy = null;
  var variableBindings = [];
  var directiveRecords = [];
  return new ChangeDetectorDefinition(id, strategy, variableBindings, bindingRecords,
                                      directiveRecords);
}
开发者ID:SnackyPete,项目名称:angular,代码行数:11,代码来源:simple_watch_config.ts

示例5: _createBindingRecords

function _createBindingRecords(expression: string): List<BindingRecord> {
  reflector.reflectionCapabilities = new ReflectionCapabilities();
  var ast = _parser.parseBinding(expression, 'location');
  return [BindingRecord.createForElement(ast, 0, PROP_NAME)];
}
开发者ID:greenietea,项目名称:angular,代码行数:5,代码来源:simple_watch_config.ts

示例6: DirectiveIndex

 MapWrapper.forEach(directiveBinder.hostPropertyBindings, (astWithSource, propertyName) => {
   var dirIndex = new DirectiveIndex(boundElementIndex, i);
   ListWrapper.push(
       bindings, BindingRecord.createForHostProperty(dirIndex, astWithSource, propertyName));
 });
开发者ID:CADBOT,项目名称:angular,代码行数:5,代码来源:proto_view_factory.ts


注:本文中的angular2/change_detection.BindingRecord类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。