如何獲取添加到ng-repeat中的新元素以爲背景顏色設置動畫效果?但是,我不希望現有的加載頁面的元素進行動畫製作。只有按鈕點擊事件時添加的那些。如何獲得新的ng-repeat元素以在添加時爲背景顏色添加動畫效果?
的index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular-animate.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body>
<div ng-app="app">
<main-component></main-component>
</div>
</body>
</html>
的script.js
console.clear();
function mainController() {
var model = this;
model.fields = [];
model.fields.push("field1");
model.fields.push("field2");
model.addField = function(label) {
console.log(label);
model.fields.push(label);
}
}
var app = angular.module('app', ['ngAnimate']);
app.component("mainComponent", {
template: `
<button ng-click="model.addField('New Field')">Add Field</button><br /><br />
<div class="field-container fadein" ng-repeat='f in model.fields track by $index'>{{f}}</div>
`,
controllerAs: "model",
controller: [mainController]
});
styles.css的
/* Styles go here */
.field-container {
width: 200px;
height: 80px;
border: 1px solid black;
background-color: yellow;
}
.fadein {
background-color: white;
transition: background-color 1000ms linear;
}
是的,你是對的 - 這很容易,但我怎麼能得到最初(已經創建)的領域從淡入。我只希望明確添加新的領域淡入。 – RichC