最近遷移到1.2.0-rc1,並且非常滿意。特別是對於ngIf
,與ngShow
相比,這可以大大提高渲染性能。 布爾變化時除閃爍外。例如,請參閱下面的plunkr: http://plnkr.co/edit/iYMm0IHZkrRamlaEs9yD?p=previewngSwitch和ngIf在Angularjs中閃爍1.2.0-rc1
在Chrome(v28)上,您會看到前2個實現閃爍,而其他2個實現不閃爍。 在Firefox上,閃爍很少發生。
這是正常的嗎?有沒有辦法避免這種情況?我應該回去使用ngShow
?
編輯: 作爲SZA說,ngIf和ngSwitch
修改DOM,而ngShow
使用CSS規則來顯示/隱藏的元件。在角度1.0.7中,ngSwitch
已經存在,並且已經在修改DOM,並且非常棒,因爲我們用很多代替ngShow
來避免昂貴的渲染未顯示的內容。 現在,如果你看看http://plnkr.co/edit/pIpEYZ5K8xvfd9dhAC74?p=preview,你會發現1.0.7版本的ngSwitch沒有閃爍。
我期待會是這樣的答案:「這是正常的行爲,你正在使用ngSwitch
和ngIf
,他們不應該被使用,只有靜態內容應與ngSwitch
和ngIf
顯示」或者「這是一個渲染bug,直到它被修復「。當然一個解決方法也會很好(@timp,我已經看到了你的答案,但我恐怕我需要一個工作的例子)。
它幾乎看起來好像是獨立評估ng-if,但是將ng-show/ng-hides彙集在一起並同時進行評估......想了解更多信息! –
看來這裏的人真的處於前沿...... – zsong