Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度材质表,设置订阅中表上更改的动画_Angular_Angular Material_Observable - Fatal编程技术网

Angular 角度材质表,设置订阅中表上更改的动画

Angular 角度材质表,设置订阅中表上更改的动画,angular,angular-material,observable,Angular,Angular Material,Observable,举一个我正在尝试做的例子: 我有一个角度材质表,它来自一个扩展了数据源的类。数据源上的连接方法是订阅某些数据(例如Firestore) 当数据在别处更改时,物料表会更新屏幕上的表格。没问题。我真正想做的是,在屏幕上闪现更改(或通过动画指示),该特定项目已更改 一个真实世界的例子是英超足球赛,随着比赛期间分数的变化,订阅的分数变化(可观察)将使用一些动画(例如颜色变化1秒)向用户提供反馈 我试过: 分数 {{sc.score} sc.score为触发器状态。 并制作了如下动画: 触发器('ch

举一个我正在尝试做的例子:

我有一个角度材质表,它来自一个扩展了
数据源的类。
数据源
上的连接方法是订阅某些数据(例如Firestore)

当数据在别处更改时,物料表会更新屏幕上的表格。没问题。我真正想做的是,在屏幕上闪现更改(或通过动画指示),该特定项目已更改

一个真实世界的例子是英超足球赛,随着比赛期间分数的变化,订阅的分数变化(可观察)将使用一些动画(例如颜色变化1秒)向用户提供反馈

我试过:


分数
{{sc.score}
sc.score
触发器
状态。 并制作了如下动画:

触发器('changeState'[
状态('inactive',样式({
背景颜色:“#ff0000”,
变换:“比例(1)”
})),
状态('active',样式({
背景颜色:“#00ff00”,
变换:“比例(1.1)”
})),
过渡('**',动画('5000ms缓进'))
])
(这不是我需要的,只是在玩动画)。 由于值更改是状态,我使用了
***
的转换,希望它意味着从任何东西到任何东西。至于状态,我不知道在状态名称中放置什么,需要类似
:更改前
:更改后
。即使没有状态,我也希望值在5s后变小(但这是立即发生的


我环顾了一下互联网,我很惊讶地发现我找不到一个想要同样名字的人的例子(除非我不擅长谷歌搜索)。

我不确定你的具体问题,因为我最初认为名字是在某个地方预定义的,但实际上这些是你选择的名字(这是我从所有这些中学到的)然后用标签将它们绑定到HTML上。这是Angular animations文档中的内容

动画状态是在动画中定义的字符串值 应用程序代码。在上面的示例中,状态为“活动”和 “非活动”基于英雄对象的逻辑状态

示例可在此处找到

我添加了一个行转换

首先创建一个包含动画/动画的文件(在本例中,是从左侧滑入的简单动画)

然后,在表格所在的页面上,您需要编辑typescript文件以声明此页面的动画(但我不确定是否有一种全局方法来执行此操作)


然后在你的模板/html文件中,你只是把动画放到
上,我遇到了这个问题,因为我在谷歌上搜索了错误的东西:D我认为Material给了我们一些动画API,但实际上我们应该使用角度动画。你的问题显然是触发器的名称是什么,对吗?这是来自mat table的在任何地方都没有记录(除非你在源代码中挖掘)我找到了一个答案,这个答案可能对你有帮助,也许仍然可以,肯定对将来的人有帮助。
import { trigger, sequence, state, animate, transition, style } from '@angular/animations';

export const rowsAnimation = 
    trigger('rowsAnimation', [
      transition('void => *', [
        style({ height: '*', opacity: '0', transform: 'translateX(-550px)', 'box-shadow': 'none' }),
        sequence([
          animate(".35s ease", style({ height: '*', opacity: '.2', transform: 'translateX(0)', 'box-shadow': 'none'  })),
          animate(".35s ease", style({ height: '*', opacity: 1, transform: 'translateX(0)' }))
        ])
      ])
    ]);
import { rowsAnimation } from './animations/template.animations';

@Component({
  selector: 'material-app',
  templateUrl: 'app.component.html',
  animations: [rowsAnimation],
})
<mat-row [@rowsAnimation]="" *matRowDef="let row; columns: displayedColumns;"</matrow>