Это NativeScript Core способ написания XML для конкретной платформы.С Angular вы можете использовать директивы, существует проблема Github , которая обсуждает эту проблему, а также предоставляет пример кода для реализации этой директивы, специфичной для вашей платформы, в вашем проекте.
Платформа, специфичнаяструктурная директива
import { Directive, ViewContainerRef, TemplateRef, Inject } from "@angular/core";
import { DEVICE } from "nativescript-angular/platform-providers";
import { Device, platformNames } from "platform";
@Directive({
selector: "[appIfAndroid]"
})
export class IfAndroidDirective {
constructor( @Inject(DEVICE) device: Device, container: ViewContainerRef, templateRef: TemplateRef<Object>) {
if (device.os === platformNames.android) {
container.createEmbeddedView(templateRef);
}
}
}
@Directive({
selector: "[appIfIos]"
})
export class IfIosDirective {
constructor( @Inject(DEVICE) device: Device, container: ViewContainerRef, templateRef: TemplateRef<Object>) {
if (device.os === platformNames.ios) {
container.createEmbeddedView(templateRef);
}
}
}
Как только вы импортируете эту директиву в свой модуль, вы можете использовать *appIfAndroid
/ *appIfIos
для любого тега.