所以我用ng-repeat
在相冊創建我的所有歌曲列表中(參見this問題,我剛纔問)奇怪的錯誤與NG單擊
那麼我想現在要做的是使它所以當用戶點擊列表中的一個項目時,它會播放被推薦的曲目。這是我的應用程序:
enitoniApp.controller('musicItems', ['$scope', function ($scope) {
$scope.ngplaySong = function (ref, name) {
playSong(ref, name)
}
$scope.albums = [
{
name: 'Over The Mountains',
price: 0,
tracks: [
{
name: 'Over The Mountains',
ref: 'otm',
released: 0,
},
{
name: '!C3',
ref: 'ice',
released: 0,
},
{
name: 'Dark Clouds',
ref: 'clouds',
released: 0
},
{
name: 'Fog',
ref: 'fog',
released: 0
}
]
},
{
name: 'test-album',
price: 5000,
tracks: [
{
name: 'test',
ref: 'null'
},
]
}
]
}]);
正如你所看到的,我試圖用ng-click來調用一個常規函數。這個常規功能(playSong()
)位於我的播放器的代碼中,它根據參考ID播放曲目。從player.js
片段:
所以我有這個在我的html:
<li ng-repeat="album in albums">
<div class="info">
<p>{{album.name}}</p>
<p>{{album.price | currency}}</p>
</div>
<ul>
<li ng-animate="grid-fade" ng-repeat="track in album.tracks">
<div class="grid-item" ng-click="ngplaySong('{{track.ref}}','{{track.name}}')">
<div class="cover">
<img ng-src="/img/covers/art_{{track.ref}}.png" alt="">
</div>
<div class="info">
<p>{{track.name}}</p>
<p>{{track.released}}</p>
</div>
</div>
</li>
</ul>
</li>
奇怪的是,即使這是正確的渲染:
本被輸出到控制檯,即使參數是正確的:
爲什麼不具約束力的數據時,該函數被調用,我失去了一些東西在這裏?
NG點擊=「ngplaySong (track.ref,track.name)「只需使用ng-click就可以了,並且在內部點擊 – Hmahwish
click不需要花括號。 – katmanco