У меня есть следующая проблема: Я пытаюсь получить доступ к и сгенерированным html-выражением с помощью углового после того, как сделаю запрос, используя метод $ http.
Пример:
function Player($scope, $http) {
var $player = $(".player");
var _this = this;
var playing = false;
console.log('pepe');
// Getting Songs
$http.get('http://www.undert.com/components/player/js/songs.json').success(function (data) {
$scope.songs = data.songs;
console.log($player.find('li').length);
});
}
и HTML является:
<div class="player" ng-controller="Player">
<ul class="playlist">
<li ng-repeat="song in songs">
<div class="album-art">
<div ng-show="!song.image">
<img src="http://undert.com/components/player/img/album_default.jpg" alt="{song.band}" />
</div>
<div ng-show="song.image">
<img src="http://undert.com/artists/{song.namespace}/images/albums/{song.image}" alt="{song.album}" />
</div>
</div> <a class="reproduction"></a>
<a class="close"></a>
<span class="title">{song.title}</span>
<span class="artist">{song.artist}</span>
<audio src="http://undert.com/artists/{song.namespace}/music/{song.song}"></audio>
</li>
</ul>
<div class="buttons">
<div class="play"></div>
<div class="prev"></div>
<div class="next"></div>
</div>
</div>
Но когда я пытаюсь прочитать мой сгенерированный код внутри
<li ng-repeat="song in songs">
с помощью JQuery я не могу (оно не существует но я пытаюсь сделать это внутри «успешного» обратного вызова по методу $ http). Эта работа отлично, когда я не использую $ http и не могу запретить jsqon внутри моей функции Player.
благодаря
попытки поставить $ объема $ применить() после того, как $ scope.songs = data.songs;. –
@Ajaybeniwal Я довольно уверен, что 'Player' является контроллером здесь, что означает, что вам не нужно добавлять' $ scope. $ Apply() '- вы уже находитесь в цикле дайджеста ... – callmekatootie
Не могли бы вы сообщить нам вам нужен код внутри директивы 'ng-repeat'? Может быть, вам не нужен jQuery для этого ... – callmekatootie