我使用的SoundCloud API爲鍵入到搜索框,像這樣的查詢獲取曲目:NG重複重複,但是是空的
$scope.tracks = [];
$scope.updateResults=function(song){
if(song.length==0){
$scope.tracks = [];
}
if(song.length>3){
SC.get('/tracks', { q: song, license: 'cc-by-sa' }, function(tracks) {
$scope.tracks = tracks;
//$scope.$apply() doesn't work either
});
}
}
$scope.updateResults
每當東西輸入到搜索欄被調用。這一切工作正常。我甚至嘗試過記錄$scope.tracks
,這是一個數組,它填充了與搜索結果匹配的曲目。根據Soundcloud API參考,每個軌道都有一個title
屬性。我通過這樣做了測試:
console.log($scope.tracks[0].title)
,並且我得到了一個很好的標題字符串。
現在在我的ng-repeat
,這是寫像這樣:
<ul>
<li ng-repeat="track in tracks">{{track.title}}</li>
</ul>
我得到幾個要點,但它們都是空的。換句話說{{track.title}}
不存在?我測試過這是一個有效的屬性。此外,我知道$scope.tracks
正在填充,因爲確實有列表項,但它們都是空的。
感謝您的幫助!
編輯:我做了一些關於ng-repeat
的調查,並瞭解到它的更新如.push()
......應該仍然不能解釋這種奇怪的行爲,但它可能有助於識別問題。
我懷疑這個問題與'ngRepeat'無關。嘗試在'ngRepeat'之外寫'{{tracks [0] .title}}來驗證。標題是什麼樣的? – gkalpak
適合我** http://jsfiddle.net/moogs/4pmpY/2/** –
我發佈了一個答案,但我還有一個問題。你只使用一個視圖嗎?曲目是否與搜索框顯示在同一頁面上? –