1
我想要按鈕調用控制器中的removeAlbum函數。但它什麼都不做。當我點擊按鈕什麼也沒有發生,並且沒有錯誤...我該怎麼做才能解決這個問題?餘燼{{action}}不起作用
這是我的模板:
<script type="text/x-handlebars" data-template-name="albums">
{{#if App.albumsController.total}}
<div><h1>Количество альбомов: {{App.albumsController.total}}</h1></div>
{{#each content in App.albumsController}}
<div class='album'>
<div class='image'>
<a {{action showAlbum content href=true}}>
<img {{bindAttr src="content.avatarUrl"}}>
</a>
</div>
<div class='info'>
<h2>
<a {{action showAlbum content href=true}}>
{{content.title}}
</a>
</h2>
<div>{{content.description}}</div>
</div>
<div class='actions'>
<div>
<button {{action removeAlbum content target="App.albumsController"}}>Delete</button>
</div>
</div>
<div class='clear'></div>
</div>
{{/each}}
{{else}}
<div><h1>Loading</h1></div>
{{/if}}
</script>
這是我的控制器:
App.albumsController = Em.ArrayController.create({
content: [],
total: null,
loadAlbums: function(){
this.set('content', []);
this.set('total', null);
var self = this;
$.post(App.connection.url, {method: 'albums.getAll', params: {user_id: App.connection.userId}}, function(response){
self.set('total', response.albums.total);
response.albums.album.forEach(function(item){
var buf = App.AlbumInList.create({
id: item.id,
title: item.title,
description: item.description,
avatarUrl: item.thumbnail_video.thumbnails.thumbnail[1]._content
});
self.pushObject(buf);
});
});
},
removeAlbum: function(x){
console.log('remove it');
}
});
嗯,在我的餘燼應用程序中,控制器不能在App上找到。我發現他們只是在路由器:App.router.albumsController。也許試試這個?您也可以在您的應用程序中使用控制器而不是完全合格的路徑。 – mavilein
在我的路由器中只有應用程序控制器 – user1753867
爲什麼你自己創建控制器?爲什麼不使用Ember.ArrayController.extend({...})並讓框架通過調用App.initialize()來創建控制器? – mavilein