无论如何在nativescript的XML文件中执行if条件? (没有角度)
if
<Card:CardView class="cardStyle" margin="10" elevation="40" radius="5">
<Slider value="18" minValue="5" maxValue="30" />
</Card:CardView>
else
<Card:CardView class="cardStyle" margin="10" elevation="40" radius="5">
<Label text="Example" class="h3" margin="10" />
</Card:CardView>
答案 0 :(得分:2)
你可以做的是使用布尔值property(在其get函数中具有你想要的条件)并将其绑定到let image = UIImage(named: "yourimage.png")
let imageView = UIImageView(image:image)
self.navigationItem.titleView = imageView
的可见性。
答案 1 :(得分:2)
看起来您可以使用可见性从模板文件显示/隐藏:
在XML文件中:即' sample-page.xml '
<Button text="{{ isShowing ? 'Hide Me' : 'Show Me' }}" tap="toggleShowing"/> <!-- Notice missing interpolation in Button tag -->
<Label text="Showing Hidden Element" visibility="{{ isShowing ? 'visible' : 'collapsed' }}"/>
在页面文件中:即' sample-page.ts '
让模型= new ViewModel();
// main-page.xml中附加的页面“已加载”事件的事件处理程序 导出函数pageLoaded(args:observable.EventData){
const page = <Page>args.object; page.bindingContext = model;
}
导出功能toggleShowing(){
model.set('isShowing', !model.get('isShowing'));
}
在视图模型中:即' sample-view-model.ts '
isShowing:boolean = false;
答案 2 :(得分:1)
我发现这样做的唯一方法是使用页面的navigatingTo事件:
export function navigatingTo(args: EventData) {
let page = <Page>args.object;
var myLayout = <StackLayout>page.getViewById("myLayout");
if (condition) {
let segmentedBar = new SegmentedBar;
...
myLayout.addChild(segmentedBar);
}
else {
let button: Button = new Button;
...
myLayout.addChild(button);
}
模板文件中没有可能: - /
答案 3 :(得分:0)
可以使用ng-container来完成。例如
<ng-container *ngIf="true">Your logic here....</ng-container>