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


TypeScript reflector.setter方法代码示例

本文整理汇总了TypeScript中angular2/src/reflection/reflection.reflector.setter方法的典型用法代码示例。如果您正苦于以下问题:TypeScript reflector.setter方法的具体用法?TypeScript reflector.setter怎么用?TypeScript reflector.setter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在angular2/src/reflection/reflection.reflector的用法示例。


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

示例1: it

 it('should notify a directive about changes after all its properties have been set', () => {
   var pv = new ProtoView(el('<div class="ng-binding"></div>'), new DynamicProtoChangeDetector(null, null), null);
   pv.bindElement(null, 0, new ProtoElementInjector(null, 0, [DirectiveBinding.createFromType(DirectiveImplementingOnChange, new DummyDirective({lifecycle: [onChange]}))]));
   pv.bindDirectiveProperty(0, parser.parseBinding('a', null), 'a', reflector.setter('a'));
   pv.bindDirectiveProperty(0, parser.parseBinding('b', null), 'b', reflector.setter('b'));
   createViewAndChangeDetector(pv);
   ctx.a = 100;
   ctx.b = 200;
   cd.detectChanges();
   var directive = view.elementInjectors[0].get(DirectiveImplementingOnChange);
   expect(directive.c).toEqual(300);
 });
开发者ID:gdi2290,项目名称:sample-Angular2,代码行数:12,代码来源:view_spec.ts

示例2: setterFactory

export function setterFactory(property: string): Function {
  var setterFn, styleParts, styleSuffix;
  if (StringWrapper.startsWith(property, ATTRIBUTE_PREFIX)) {
    setterFn = attributeSetterFactory(StringWrapper.substring(property, ATTRIBUTE_PREFIX.length));
  } else if (StringWrapper.startsWith(property, CLASS_PREFIX)) {
    setterFn = classSetterFactory(StringWrapper.substring(property, CLASS_PREFIX.length));
  } else if (StringWrapper.startsWith(property, STYLE_PREFIX)) {
    styleParts = property.split(STYLE_SEPARATOR);
    styleSuffix = styleParts.length > 2 ? ListWrapper.get(styleParts, 2) : '';
    setterFn = styleSetterFactory(ListWrapper.get(styleParts, 1), styleSuffix);
  } else if (StringWrapper.equals(property, 'innerHtml')) {
    if (isBlank(innerHTMLSetterCache)) {
      innerHTMLSetterCache = (el, value) => DOM.setInnerHTML(el, value);
    }
    setterFn = innerHTMLSetterCache;
  } else {
    property = resolvePropertyName(property);
    setterFn = StringMapWrapper.get(propertySettersCache, property);
    if (isBlank(setterFn)) {
      var propertySetterFn = reflector.setter(property);
      setterFn = function(receiver, value) {
        if (DOM.hasProperty(receiver, property)) {
          return propertySetterFn(receiver, value);
        }
      };
      StringMapWrapper.set(propertySettersCache, property, setterFn);
    }
  }
  return setterFn;
}
开发者ID:188799958,项目名称:angular,代码行数:30,代码来源:property_setter_factory.ts

示例3:

 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

示例4:

 MapWrapper.forEach(renderDirectiveMetadata.propertyBindings, (astWithSource, propertyName) => {
   var setter = reflector.setter(propertyName);
   protoView.bindDirectiveProperty(i, astWithSource.ast, propertyName, setter);
 });
开发者ID:gdi2290,项目名称:sample-Angular2,代码行数:4,代码来源:proto_view_factory.ts


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