У меня есть ngRepeat, который выполняет итерацию по списку объектов и отображает их. Эти объекты не содержат никаких изображений, но идентификатор может использоваться для извлечения изображения. В содержимом ngRepeat я хочу показать изображение, соответствующее объекту, и поэтому я вызываю функцию внутри ngSource для захвата изображения, соответствующего текущему объекту. Однако ngSource не загружается на фактическую страницу.Ng-src не вызывающая функция из области
HTML:
<div class="list-group">
<a ng-click="courseSelected(course.course_id)" class="list-group-item" ng-repeat="course in searchResultData.courseList" id="searchResults">
<div>
<img ng-src="{{getLogoByCourse(course)}}"/>
<h4 class="list-group-item-heading">{{course.name}}, {{course.city}}, {{course.state}}</h4>
<p class="list-group-item-text miscData" ng-show="course.price"><span>Price: {{course.price}}</span></p>
<p class="list-group-item-text miscData">
<span>Phone number: {{course.phone}}</span><br/>
<span>Address: {{course.address}}</span><br/>
<span>Website: {{course.website}}</span>
</p>
</div>
</a>
</div>
Директива Отрывок:
$scope.getLogoByCourse = function(course) {
console.log("Getting logo");
courseFactory.getLogoByID(course.course_id)
.then(function(result){
console.log("logo: ", result);
result = "app/images/directory/" + result.data[0];
return result;
}
);
}
$scope.getImageByCourse = function(course) {
courseFactory.getImagesByID(course.course_id)
.then(function(result){
console.log("Image: ", result);
result = "app/images/directory/" + result.data[0];
return result;
}
);
}
Содержание тега изображения на загруженной странице:
<img class="logo-img">
ли эти функции объявлены в области контроллера? Если они объявлены в области действия директивы, я не вижу никакой специальной директивы в HTML. –
К сожалению, HTML находится в представлении, загруженном директивой, и функции объявляются в поле ссылки директивы. Я довольно уверен, что это правильное место, так как другие функции в одном и том же месте успешно вызываются из html. –
Он должен работать нормально. Я не понимаю, где он ломается. Можете ли вы создать быстрый, небольшой пример jsFiddle вашего формата. –