Я пропоную вам скористатися директивою Angular UI Utils 'if statement' для вирішення вашої проблеми, як це знайдено на веб-сайті http://angular-ui.github.io/ . Я щойно використовував це, щоб зробити саме те саме.
Це не перевірено, але ви можете зробити щось на кшталт:
Код контролера:
$scope.showImage = function () {
if (value1 && value2 && value3 && value4) {
return true;
} else {
return false;
}
};
(або простіше)
$scope.showImage = function () {
return value1 && value2 && value3 && value4;
};
HTML у перегляді: <img ui-if="showImage()" ng-src="images/{{data.value}}.jpg" />
Або навіть простіше, ви можете просто використовувати властивість області застосування:
Код контролера:
$scope.showImage = value1 && value2 && value3 && value4;
HTML у перегляді: <img ui-if="showImage" ng-src="images/{{data.value}}.jpg" />
Для зображення заповнювача просто додайте ще один подібний <img>
тег, але додайте ui-if
параметр !
позначкою знак оклику ( ) та зробіть, що ngSrc має шлях до зображення заповнювача, або просто використовуйте src
тег відповідно до звичайного ol 'HTML.
напр. <img ui-if="!showImage" src="images/placeholder.jpg" />
Очевидно, що всі вищевказані зразки коду припускають, що кожен із значень1, значення2, значення3 та значення4 буде дорівнювати null
/ false
коли кожен з ваших 4 фрагментів інформації буде неповним (і, таким чином, також булевим значенням, true
коли вони повні).
PS. Нещодавно проект AngularUI був розбитий на підпроекти, і документація на ui-if
даний момент, здається, відсутня (хоча, мабуть, в пакеті десь). Однак, як бачите, це досить просто, і я зареєстрував «проблему» Github у проекті Angular UI, щоб також вказати на команду.
ОНОВЛЕННЯ: 'ui-if' відсутній у проекті AngularUI, оскільки він був інтегрований в основний код AngularJS! Тільки станом на v1.1.x, яка наразі позначена як "нестабільна".