Sorununuzu çözmek için http://angular-ui.github.io/ adresinde bulunan Angular UI Utils 'if ifadesi' direktifini kullanmak isteyebileceğinizi öneririm . Ben de tam olarak aynı şeyi yapmak için kullandım.
Bu test edilmemiştir, ancak aşağıdaki gibi bir şey yapabilirsiniz:
Denetleyici kodu:
$scope.showImage = function () {
if (value1 && value2 && value3 && value4) {
return true;
} else {
return false;
}
};
(veya daha basit)
$scope.showImage = function () {
return value1 && value2 && value3 && value4;
};
Görünümde HTML: <img ui-if="showImage()" ng-src="images/{{data.value}}.jpg" />
Daha da basit bir ifadeyle, bir kapsam özelliği kullanabilirsiniz:
Denetleyici kodu:
$scope.showImage = value1 && value2 && value3 && value4;
Görünümde HTML: <img ui-if="showImage" ng-src="images/{{data.value}}.jpg" />
Bir yer tutucu görüntüsü için, başka bir benzer <img>
etiket ekleyin, ancak ui-if
parametrenizin başına bir ünlem işareti ( !
) ekleyin ve ngSrc'nin yer tutucu görüntünün yolunu olmasını sağlayın veya src
normal HTML'ye göre bir etiket kullanın .
Örneğin. <img ui-if="!showImage" src="images/placeholder.jpg" />
Açıkçası, yukarıdaki kod örneklerinin tümü, değer1, değer2, değer3 ve değer4'ün her birinin, 4 bilginizin her biri eksik olduğunda null
/ false
olduğunda (ve dolayısıyla, tamamlandıklarının boole değerine) eşit olacağını varsaymaktadır true
.
PS. AngularUI projesi yakın zamanda alt projelere bölündü ve dokümantasyonu ui-if
şu anda eksik görünüyor (muhtemelen pakette bir yerde olsa da). Bununla birlikte, görebileceğiniz gibi kullanımı oldukça basittir ve bunu takıma da belirtmek için Angular UI projesine bir Github 'sorunu' kaydettim.
GÜNCELLEME: AngularUI projesinde 'ui-if' eksiktir çünkü temel AngularJS koduna entegre edilmiştir! Yalnızca v1.1.x itibarıyla, şu anda "kararsız" olarak işaretlenmiştir.