我已经这样注册了一个directionChangedEvent:
app.on(app.orientationChangedEvent, (args: OrientationChangedEventData) => {
if (this.currentScreenWidth === screen.mainScreen.widthDIPs) {
this.currentScreenWidth = screen.mainScreen.heightDIPs;
} else {
this.currentScreenWidth = screen.mainScreen.widthDIPs;
}
this.configureGrid();
});
我有以下模板:
<GridLayout [rows]="rows" [columns]="columns">
<ng-container *ngFor="let card of cards">
<StackLayout [row]="card.row" [col]="card.col" [colSpan]="card.colSpan">
<kirby-card>
<kirby-card-header [title]="'row: ' + card.row" [subtitle]="'col: ' + card.col">
</kirby-card-header>
<StackLayout class="content">
<Label text="Here you can add stuff, which is cool."></Label>
</StackLayout>
<kirby-card-footer>
<kirby-button label="Dummy Kirby Button" expand="block" shape="round" theme="cookbook"></kirby-button>
</kirby-card-footer>
</kirby-card>
</StackLayout>
</ng-container>
,在我的configureGrid方法中,我更新了行,列和卡的属性,但是我的视图没有更新,该视图(GridLayout)的显示与旋转之前的显示完全相同。我已经注销了所有数据,但是我的数据确实发生了变化,因此似乎数据绑定不了解该数据已发生变化。
我可以以某种方式强制更新视图,或者如何解决此问题?
谢谢
答案 0 :(得分:0)
使用NgZone进行数据更新,一切都很好。