Ionic / Angular -刷新应用简历上的文章
Ionic / Angular - Refresh articles on app resume
我使用Ionic/Angular开发了一个新闻应用程序。下面是News选项卡的代码:
<ion-view view-title="News">
<ion-content class="padding">
<ion-refresher pulling-text="Actualizează articolele" on-refresh="doRefresh()">
</ion-refresher>
<a class="article" ng-repeat="article in articles" href="#/tab/news/{{article.id}}">
<img ng-src="{{article.image}}" class="article-image">
<h2 class="article-title">{{article.title}}</h2>
<p class="article-published">{{article.published}}</p>
<p class="article-intro">{{article.intro}}...</p>
</a>
</ion-content>
</ion-view>
这里是控制器:
.controller('NewsCtrl', function($scope, Articles) {
Articles.all().then(function(articles) {
$scope.articles = articles
});
$scope.doRefresh = function() {
Articles.all().then(function(articles) {
$scope.articles = articles
});
$scope.$broadcast('scroll.refreshComplete');
};
})
$scope.articles = articles
从外部JSON文件中读取文章。
所以我有拉刷新选项工作,但有一个问题。如果用户在后台保持应用程序打开,我希望文章在用户再次打开应用程序时刷新。有人能帮我实现这个吗?
一个好的解决方案是使用cordova resume
事件并在触发刷新回调时触发它。您可以使用以下代码来定义它:
document.addEventListener("resume", yourCallbackFunction, false);
但是,更好的方法是使用$ionicPlatform
服务。
.controller('NewsCtrl', function($scope, Articles, $ionicPlatform) {
$ionicPlatform.on('resume', $scope.doRefresh);
Articles.all().then(function(articles) {
$scope.articles = articles
});
$scope.doRefresh = function() {
Articles.all().then(function(articles) {
$scope.articles = articles
});
$scope.$broadcast('scroll.refreshComplete');
};
})
另外,另一种方法是在根作用域上广播,以避免破坏控制器内部的角方式。
app.module('myApp',[])
.run(function ($rootScope) {
document.addEventListener("resume", function () {
$rootScope.$broadcast('onAppResume');
}, false);
});
然后你可以从你的控制器中监听这个事件:
.controller('NewsCtrl', function($scope, Articles) {
$scope.$on('onAppResume', $scope.doRefresh);
Articles.all().then(function(articles) {
$scope.articles = articles
});
$scope.doRefresh = function() {
Articles.all().then(function(articles) {
$scope.articles = articles
});
$scope.$broadcast('scroll.refreshComplete');
};
})
相关文章:
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- Emberjs应用程序加载在除Index之外的所有路由上
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 在Shopify中获取博客文章的图片
- 跟踪在页面加载时应用内联样式的JavaScript
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- 如果文本字段为空,则使用JavaScript应用CSS样式
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 为什么在单独的函数中应用时转换会闪烁/断断续续(D3)
- angular 1.5应用程序中的导航栏
- 在Web应用程序中使用Highcharts javascript
- angularjs+rails应用程序中未显示模板
- 从html创建一个指令,该指令按类名应用函数
- 将文章从网络应用程序分享到本地Facebook
- 将不同的类应用于 (Shopify) 中的奇数/偶数博客文章
- Ionic / Angular -刷新应用简历上的文章
- 如何在Angular/Express/MongoDB应用中通过其ID显示单个博客文章
- 如何在领英应用程序中打开领英分享文章链接
- 是我,还是John Resig'关于部分应用程序的流行博客文章不起作用