我想扩展NativeScript Switch UI组件并将其用作自定义指令。
@Directive({
selector: "CustomSwitch"
})
export class CustomSwitch extends Switch {
constructor() {
super();
// Add custom events here
if (isIOS) {
// Change background and other properties here.
}
}
}
我可以看到ViewBase类像setNativeView这样的方法。任何人都可以分享一个示例,说明如何实现此目标以及实现此目标的更好方法。
CSS可以帮助进行全局样式设置,但我还需要具有扩展组件以公开自定义事件的功能。
答案 0 :(得分:0)
我认为您正在混合使用NativeScript组件和Angular功能,如果需要指令,则不必扩展Switch
或任何{N}组件。
只需应用选择器并将ElementRef
注入到指向Switch
(或应用了选择器的元素)的构造函数中,您只需更改其背景颜色即可。就像您在Angular Web应用程序中所做的一样。
@Directive({
selector: "CustomSwitch"
})
export class CustomSwitchDirective implements AfterViewInit {
constructor(private el: ElementRef) { }
ngAfterViewInit() {
const switch = <Switch>this.el.nativeElement;
switch.backgroundColor = "red";
}
}