我想用angularjs做簡單的順序效果。我可以在jQuery中做到這一點,但我不知道使用angularjs做同樣的事情要遵循什麼路徑。什麼是應用順序效果的「angularjs方法」?
爲了使事情具體,這裏是一個簡單的基於jQuery的順序效果,我想用angularjs創建。當我們點擊一個標籤時,另一個標籤的文本值將按照固定的時間順序設置爲數組中的每個元素。這方面的一個原型的jsfiddle在
http://jsfiddle.net/mjandrews/U53jy/6/
,其JavaScript代碼
var wordlist = ['A', 'B', 'C', 'D', 'E'];
var duration = 200;
var i = 0;
show_next_word = function() {
if (i < wordlist.length) {
$('#word').hide()
.text(wordlist[i++])
.fadeIn()
.delay(duration)
.fadeOut(show_next_word // recursively call until end of word list
);
} else {
i = 0; // re-set index
}
};
$('#startbutton').click(show_next_word);
做同樣的事情的角度,我坦率地說不清楚,甚至開始什麼樹吠叫。
從我的搜索到目前爲止,我發現使用$q service鏈接承諾的討論。這是我應該考慮的嗎?任何人都可以指點我一個有效的例子嗎?如果這不是繼續進行的最佳方式,那麼更類似於$animate?還有什麼我應該考慮的嗎?任何指向更好的方式,將不勝感激。
P.s.這個問題的依據是這個answer的建議,它指出:「當你遇到一個問題,你認爲你已經知道如何在jQuery中解決問題時,在你達到$之前,嘗試考慮如何在限制AngularJS。如果你不知道,問問!「我有一個問題,我知道如何在jQuery中解決。我想做角度的方式。我試圖去思考這個問題,並且因爲我缺乏使用angularjs的經驗,所以我很茫然,所以我在問。
你看的文檔,$動畫一個簡單的例子? https://docs.angularjs.org/api/ngAnimate/service/$animate –
@AndrewChurch我知道,但還沒有探索過,$ animate。它和$ q在我對這個主題的搜索中都是可能的。我現在編輯了我最初的問題,明確提到$ animate。如果$ animate是一種類似於我正在考慮的效果的方式,那麼很棒,我會挖掘它。 – mjandrews
@mjandrews $ q是在涉及異步操作時應用順序效果的方式,承諾非常酷,但我不認爲他們會在這裏幫助你。 –