角。有没有办法在初始渲染时跳过输入动画?

时间:2017-05-22 11:03:29

标签: angular angular2-animation

第一次呈现组件时,

:enter动画将应用于元素。有没有办法阻止它?

检查this plunker以获取width动画的简单示例:

transition(':enter', [
  style({width: 0}),
  animate(250, style({width: '*'})),
]),

2 个答案:

答案 0 :(得分:11)

只需将空<?php $emp_id = $_GET["emp_id"]; $servername = "localhost"; $username = "root"; $password = ""; $dbname = "overtimedtr"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $sql = "SELECT * FROM employees where id ='".$emp_id."'"; $result = mysqli_query($conn, $sql); if (mysqli_num_rows($result) > 0) { // output data of each row while($row = mysqli_fetch_assoc($result)) { $result["empName"] = $row['name']; $result["empPosition"] = $row['position']; } } else { $result["empName"] = '0 results.'; $result["empPosition"] = '0 results.'; } exit(json_encode($result)); mysqli_close($conn); ?> 动画添加到视图父级即可。在这种情况下,初始子:enter动画将被禁用,但进一步的动画将起作用。

模板:

:enter

动画:

<div @parent>
    <div @child>test</div>
</dif>

Here您可以找到更详细的解释。

答案 1 :(得分:2)

void状态。这基本上代表null州。

在实践中,这可能是这样的:

trigger('myState', [
  state('previous', style({ transform: 'translateX(-100%)' })),
  state('current', style({ transform: 'translateX(0)' })),
  state('next', style({ transform: 'translateX(100%)' })),
  transition('void => *', animate(0)), // <-- This is the relevant bit
  transition('* => *', animate('250ms ease-in-out'))
])

这意味着,只要元素没有尚未拥有状态,并且转换为任何状态,它就不应该是动画。< / p>

所以,在你的情况下,它可以这样写:

transition('void => :enter', animate(0))

我希望这是有道理的。