我有一个自定义输入组件,它实现ControlValueAccessor,提供程序声明如下。它似乎工作得很好。在我能在互联网上找到的所有教程中,只要提供NG_VALUE_访问器,forwardRef就被广泛使用
将以下代码发送到生产环境是否安全?
providers: [{
provide: NG_VALUE_ACCESSOR,
useExisting: CustomInputComponent, //Notice I omitted forwardRef here and it works fine
multi: true
}]
forwardRef
的目标是延迟对当前代码执行时未定义的类的访问。
这对你的情况不是强制性的,因为TypeScript在类定义之后执行装饰器时会以一种方式转换你的代码。
let CustomInputComponent = /** @class */ (() => {
var CustomInputComponent_1;
let CustomInputComponent = CustomInputComponent_1 = class CustomInputComponent {
};
CustomInputComponent = CustomInputComponent_1 = __decorate([
Component({
selector: 'app-custom-input',
template: '<input />local: {{val}}',
providers: [
{
provide: NG_VALUE_ACCESSOR,
useExisting: CustomInputComponent_1, // already defined!!!
multi: true
}
]
})
], CustomInputComponent);
return CustomInputComponent;
})();
forwardRef
允许Angular在定义依赖项之前插入依赖项。在这种情况下,如果如您所述,在自定义输入组件的@Component
decorator中定义了此提供程序数组,那么它将起作用,因为decorator是在定义类之后应用的。
基本上,您可以删除forwardRef
,只要您只使用它引用同一组件的装饰器内的组件。
请参阅此处以获得深入阅读
运行,我得到以下错误: 我做了问题25596504中建议的更正,特别是更改了文件至运气不好。我遵循Hartl教程第688页,该页指定将它们添加为
我试图在OSGi(Felix)中使用新的Leap运动传感器,但我最终遇到了一个异常访问冲突。 在我的清单中,我声明捆绑NativeCode如 当然: 在OSGi之外使用相同库的简单程序运行良好 这两个库在“x86”文件夹中的我的包中 “osname=win32;processor=x86”适合我(已经用其他bunble进行了测试) 在反编译Leap Motion jar后,我看到LeapJava.
我试图在wp_woocommerce_order_itemmeta表中创建自定义元数据。但是要创建我想存储为元数据的数据,我需要知道在WooCommerce钩子woocommerce_checkout_create_order_line_item上创建的订单项的product_id。 我已经成功地用会话变量的值创建了一个元记录,但是当我试图获取订单项目的产品id时,我的代码失败了。我非常希望能找到
信息:[调试]将设备id设置为ZY223DDMM8信息:[调试]等待设备准备就绪并响应shell命令(超时=5)信息:[调试]执行cmd:E:\MobileAutomation\Android\Android sdk\platform tools\adb.exe-s ZY223DDMM8等待设备信息:[调试]正在执行cmd:E:\MobileAutomation\Android\Android s
我从以下改装服务中获得了一个json结果: 我在改装后变得像bellow一样: 但是告诉我: 下面是我的模型:
我正在与CheckMarx漏洞之一作斗争。我需要一些指导来支持这一点。以下是我的代码: 这里con是(HttpurlConnection)新URL(“一些URL”)。openConnection()。 所以,checkmarx在《in》中强调了这个问题。readLine()。 我尝试的变通方法: 1: StringEscape eUtils.unescapeJson(in.readLine()),