gpt4 book ai didi

javascript - Ionic/Angular - 刷新应用简历上的文章

转载 作者:行者123 更新时间:2023-11-30 15:44:05 26 4
gpt4 key购买 nike

我使用 Ionic/Angular 开发了一个新闻应用程序。这是新闻标签的代码:

<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 :

.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 event并在触发时触发刷新回调。您可以使用以下代码定义它:

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');
};

})

此外,另一种方法是在根作用域上进行广播,以避免破坏 Controller 内部的 Angular 方式。

app.module('myApp',[])
.run(function ($rootScope) {

document.addEventListener("resume", function () {
$rootScope.$broadcast('onAppResume');
}, false);
});

然后你可以从你的 Controller 中监听这个事件:

.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');
};

})

关于javascript - Ionic/Angular - 刷新应用简历上的文章,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40361932/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com