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-ifparametrenizin başına bir ünlem işareti ( !) ekleyin ve ngSrc'nin yer tutucu görüntünün yolunu olmasını sağlayın veya srcnormal 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/ falseolduğ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.