当前位置: 首页 > 知识库问答 >
问题:

显示隐藏时的离子3角度动画

萧和同
2023-03-14

我正在使用Ionic 3 Angular作为网站。并且有 2 个小点将整个视图从视图 1 更改为视图 2。基本上要做到这一点,我只是使用 *ngIf 进行离子行的显示隐藏,如下所示

<ion-grid>
    <ion-row>
        <ion-col>
            <button ion-button (click)="switchView('view1')">View1</button>
            <button ion-button (click)="switchView('view2')">View2</button>
        </ion-col>
    </ion-row>
    <ion-row *ngIf="currentView == 'view1'">
    ...
    </ion-row>
    <ion-row *ngIf="currentView == 'view2'">
    ...
    </ion-row>
</ion-grid>

但是整体过渡非常快。当我点击按钮从视图1转到视图2时,我想把它显示为滑动效果。请指教。

我认为ionic和angular都有某种动画功能,但我不确定在这种情况下哪个是正确的,以及如何使用它。

共有1个答案

韩宜春
2023-03-14

您可以使用可用于< code>component类的< code>animations来实现这一点,如下所示

@Component({
  animations: [
    trigger(
      'myAnimation',
      [
        transition(':enter',
          [style({ transform: 'translateX(100%)', opacity: 0 }),
          animate('500ms', style({ transform: 'translateX(0)', 'opacity': 1 }))]),
        transition(':leave',
          [style({ transform: 'translateX(0)', 'opacity': 1 }),
          animate('500ms', style({ transform: 'translateX(100%)', 'opacity': 0 }))])
      ])]
})

然后在HTML中使用属性

<ion-row *ngIf="currentView == 'view1'" [@myAnimation]>
 类似资料:
  • 我有一个问题隐藏和显示一个元素取决于一个布尔变量在角2。 这是div要显示和隐藏的代码: 变量已“编辑”,并存储在我的组件中: 元素是隐藏的,当saveTodos函数启动时,会显示元素,但3秒钟后,即使变量返回为false,元素也不会隐藏。为什么?

  • 我有两个按钮导航栏。 当单击div#toggle-menu时,它使div#sidebar-mobile-wrapper显示。 当我点击div#toggle-function时,它会显示div#right-content-mobile。 都奏效了。但现在我想,一次只能显示一个div。所以当我点击#toggle-menu时,如果div#right-content-mobile是可见的,它将被隐藏和si

  • 问题内容: 我有一段可以在Swift 2中使用的代码,我尝试使用Xcode将代码更新为最新版本,并修复了除两个问题以外的所有内容。 我有这个代码: 与此配对: 在第一部分,我现在得到一个错误提示 类型“ LoginViewController”没有成员“ keyboardWillShow / Hide” 我不明白为什么它没有看到下面的方法。 有人知道这个问题的解决方案吗? 问题答案: 查阅更新的《

  • 主要内容:实例,jQuery hide() 和 show(),实例,实例,实例,jQuery toggle(),实例隐藏、显示、切换,滑动,淡入淡出,以及动画,哇哦! 因为时间是宝贵的,我们提供快捷方便的学习方法。 在小牛知识库,你可以学习需要的知识。 实例 jQuery hide() 简单的jQuery hide()方法演示。 jQuery hide() 另一个hide()实例。演示如何隐藏文本。 jQuery hide() 和 show() 通过 jQuery,您可以使用 hide() 和

  • 问题内容: 在隐藏其父级Div的同时如何显示子Div?能做到吗? 我的代码如下: 问题答案: 我认为这是不可能的。 您可以使用javascript将元素拉出,或复制元素然后显示。 在jQuery中,您可以复制一个元素 然后附加到任何适当的可见元素。

  • 排除不显示字段 Model.findAll({ attributes: { exclude: ['baz'] } });