所以我用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