0
我有下一個問題: 我試圖通過使用$ http方法發出請求來訪問和修改dom生成的html的角度。
例子:
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>
但是當我嘗試使用jQuery讀取裏面
<li ng-repeat="song in songs">
我生成的代碼我不能(它不存在但是,即時通訊嘗試在$ http方法的「成功」回調中執行此操作)。 這個工作完美時,我不使用$ http,並使我的播放器功能硬編碼jsqon。
感謝
嘗試放置$ scope。$ apply()在$ scope.songs = data.songs之後; –
@Ajaybeniwal我很確定'Player'是這裏的控制器,這意味着你不必添加'$ scope。$ apply()' - 你已經處於摘要循環中了... – callmekatootie
你能告訴我們嗎你需要'ng-repeat'指令結構中的代碼嗎?也許你不需要jQuery ... – callmekatootie