使用 Ember 访问模型索引并发送到控制器
Accessing model index and send to controller with Ember
我正在用我最喜欢的 SoundCloud API 和 Ember Cli
歌曲构建一个音乐播放器组件
音乐播放器随时播放 select 一首歌曲的音频,但我现在正尝试在当前歌曲播放完毕后播放下一首收藏夹。
我需要访问我收藏夹的收藏夹模型索引才能获得下一个收藏夹
这里是音乐控制器
player: Ember.computed.alias('controllers.player')
actions: {
setAsFavorite: function (favorite) {
var favorites, favorite
favorites = this.get('model');
if (favorite != null) {
this.get('player').set('favorites', favorites);
}
if (favorite != null) {
return this.get('player').send('selectFavorite', favorite, 0);
}
}
}
如何访问我收藏夹中的收藏夹索引?
return this.get('player').send('selectFavorite', favorite, 0);
在上面的代码中,我将其作为“0”传递,但我需要传递我点击的最喜欢歌曲的正确索引作为 setAsFavorite
对您的代码进行了一些小的重构。添加收藏夹数组的收藏夹索引。还提供了一种立即获取下一首歌曲的方法
actions: {
setAsFavorite: function (favorite) {
var favorites = this.get('model');
var player = this.get('player');
if (Ember.isPresent(favorite)) {
player.set('favorites', favorites);
player.send('selectFavorite', favorite, favorites.indexOf(favorite));
// for next song
// player.send('selectFavorite', favorite, favorites.nextObject(favorite));
}
}
}
我正在用我最喜欢的 SoundCloud API 和 Ember Cli
歌曲构建一个音乐播放器组件音乐播放器随时播放 select 一首歌曲的音频,但我现在正尝试在当前歌曲播放完毕后播放下一首收藏夹。
我需要访问我收藏夹的收藏夹模型索引才能获得下一个收藏夹
这里是音乐控制器
player: Ember.computed.alias('controllers.player')
actions: {
setAsFavorite: function (favorite) {
var favorites, favorite
favorites = this.get('model');
if (favorite != null) {
this.get('player').set('favorites', favorites);
}
if (favorite != null) {
return this.get('player').send('selectFavorite', favorite, 0);
}
}
}
如何访问我收藏夹中的收藏夹索引?
return this.get('player').send('selectFavorite', favorite, 0);
在上面的代码中,我将其作为“0”传递,但我需要传递我点击的最喜欢歌曲的正确索引作为 setAsFavorite
对您的代码进行了一些小的重构。添加收藏夹数组的收藏夹索引。还提供了一种立即获取下一首歌曲的方法
actions: {
setAsFavorite: function (favorite) {
var favorites = this.get('model');
var player = this.get('player');
if (Ember.isPresent(favorite)) {
player.set('favorites', favorites);
player.send('selectFavorite', favorite, favorites.indexOf(favorite));
// for next song
// player.send('selectFavorite', favorite, favorites.nextObject(favorite));
}
}
}