比方說,你有下面的代碼來顯示一些產品圖片:如何真正防止元素被放入DOM與angularjs
<ul>
<li ng-repeat="p in products">
<img ng-src="/images/{{p.img}}"/>
</li>
</ul>
現在讓我們說一些產品很遺憾沒有圖像,可以解決這個問題有:
<ul>
<li ng-repeat="p in products">
<img ng-hide="p.img==undefined" ng-src="/images/{{p.img}}"/>
</li>
</ul>
現在去的螢火蟲或Chrome開發者工具的「網絡」選項卡,並檢查圖像下載 - 你會看到錯誤的,因爲瀏覽器仍然試圖下載不存在的圖片。它隱藏,並且用戶不會注意到,但當然是不好:不好的做法,不利於服務器性能,很壞很壞的壞...
,這是什麼正確的「角」的解決方案?
提示:據MISKO在https://github.com/angular/angular.js/blob/master/src/ng/directive/ngShowHide.js#L35:ngShow和ngHide打算用做改變DOM,而不是' display:none;' – 2013-03-16 17:46:12
@Umur - 我想你的意思是1.1.5中的ngIf指令。 https://github.com/angular/angular.js/commit/2f96fbd17577685bc013a4f7ced06664af253944 – 2013-08-05 22:48:02
@Rob,它已經改變了,但看看從幾個月的源代碼前:https://github.com/angular /angular.js/blob/11f712bc3e310302eb2e8691cf6d110bdcde1810/src/ng/directive/ngShowHide.js#L101 – 2013-08-06 06:05:07