3 回答

TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個(gè)贊
首先你要明白angular到底是一個(gè)什么東西,它是一個(gè)貫徹MVVM的開發(fā)思維的前端框架,這樣的設(shè)計(jì)使得采用這個(gè)框架開發(fā)的項(xiàng)目更加易于維護(hù)。說到項(xiàng)目維護(hù)的難易程度,要到項(xiàng)目達(dá)到一定的規(guī)模才會(huì)體現(xiàn),像一些靜態(tài)頁面,或者是交互并不是非常頻繁的頁面,是體現(xiàn)不出此類框架的優(yōu)勢的,反而會(huì)徒增很多不必要的麻煩。
所以,angular更加傾向于是上述的的功能特性,而你問的是否可以做各種特效,顯然不是angular關(guān)心的。當(dāng)然,你也可以在使用angular框架的同時(shí),引入其他的特效庫。

TA貢獻(xiàn)1884條經(jīng)驗(yàn) 獲得超4個(gè)贊
通過Angular的話可以通過下面四種方法 1、event 這里可以有兩種方式,一種是$scope.$emit,然后通過監(jiān)聽$rootScope的事件獲取參數(shù);另一種是$rootScope.$broadcast,通過監(jiān)聽$scope的事件獲取參數(shù)。 這兩種方法在最新版本的Angular中已經(jīng)沒有性能區(qū)別了,主要就是事件發(fā)送的方向不同,可以按實(shí)際情況選擇。 2、service 可以創(chuàng)建一個(gè)專用的事件Service,也可以按照業(yè)務(wù)邏輯切分,將數(shù)據(jù)存儲(chǔ)在相應(yīng)的Service中,因?yàn)橐呀?jīng)有人提過了就不贅述了。 3、$rootScope 這個(gè)方法可能會(huì)比較dirty一點(diǎn),勝在方便,也就是把數(shù)據(jù)存在$rootScope中,這樣各個(gè)子$scope都可以調(diào)用,不過需要注意一下生命周期 4、直接使用$scope$$nextSibling及類似的屬性 類似的還有$scope.$parent。這個(gè)方法的缺點(diǎn)就更多了,官方不推薦使用任何$$開頭的屬性,既增加了耦合,又需要處理異步的問題,而且scope的順序也不是固定的。不推薦 另外就是通過本地存儲(chǔ)、全局變量或者現(xiàn)代瀏覽器的postMessage來傳遞參數(shù)了,除非特殊情況,請避免這類方式。
- 3 回答
- 0 關(guān)注
- 1104 瀏覽
添加回答
舉報(bào)