ari*_*hie 5 angularjs ionic-framework
我正在为一个应用程序使用Ionic Framework,并坚持一个部分.在我的应用程序中,我有一个收藏夹视图,其中显示了用户在应用程序中其他地方喜欢的项目列表.问题是,控制器中的代码仅在第一次点击收藏夹路由时运行.如果用户然后在应用程序中的其他位置添加收藏夹,然后返回"收藏夹"视图,则不会重新生成列表.
在我的控制器中,我有以下内容:
Favourites.all().then(function(results){
angular.forEach(results, function(value, key){
// add results to an array to present in the view
})
})
Run Code Online (Sandbox Code Playgroud)
我有一个工厂,负责数据库查询:
.factory('Favourites', function(DB){
var self=this;
console.log("test 1");
self.all = function() {
return DB.query('SELECT * FROM favourites')
.then(function(result){
return DB.fetchAll(result);
});
};
return self;
})
Run Code Online (Sandbox Code Playgroud)
我的问题是,在用户将新收藏夹添加到数据库后,如何让收藏夹控制器刷新?我尝试将范围重新加载函数添加到控制器,并且还将reload:true添加到路由的$ stateProvider,但两者都没有任何区别.
Ben*_*ant 10
从任何地方使用广播,并在任何地方捕捉它:
应用中的任何位置:
$scope.onNewFavoriteHandler = function() {
//Add to DB logic
$rootScope.$broadcast('new-favorite');
}
Run Code Online (Sandbox Code Playgroud)
在相关的控制器上:
$scope.$on('new-favorite', function(event, args) {
Favourites.all().then(function(results){
angular.forEach(results, function(value, key){
// add results to an array to present in the view
})
});
// do what you want to do
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8862 次 |
| 最近记录: |