用自定义装饰器包装Angular @Input装饰器

时间:2018-10-08 11:47:03

标签: angular input decorator

我正在尝试创建一个包装有角度的内置@Input装饰器的装饰器。对于某些额外的本地化业务需求,我们需要这样做。

export function MyCustomInput(params: InputDefinition = {
  selector: "",
  isLocalizable: false
}) {

  return function(target: any, key: string) {

    if (!target["properties"]) {
      target["properties"] = {};
    }

    target["properties"][params.selector] = key;
    target["properties"][key] = params.selector;

    if (params.isLocalizable === true) {
      //My custom business codes here
    }

    return Input(params.selector)(target, key);
  }
}


//My Component
//...
//...
//...
@Component({ ...
})
export class MyTestComponent {

  @MyCustomInput("alt-flow") data: any;

}

当我为开发人员构建此代码时,它正在工作,但是在--prod中,构建属性绑定不起作用。

0 个答案:

没有答案