我有这个代码在页面加载时加载内容, 现在我想知道如何通过单击按钮重新加载内容。 你能告诉我如何用例子来做吗?
Javascript代码:
.controller('InterNewsCtrl', function($scope, NewsService) {
$scope.events = [];
$scope.getData = function() {
NewsService.getAll().then(function (response) {
$scope.events = response;
}), function (error) {
}
};
$scope.getData(); // load initial content.
})

Html code:
<ons-toolbar fixed-style>
<div class="left">
<ons-back-button>Voltar</ons-back-button>
</div>
<div class="right">
<ons-toolbar-button><ons-icon icon="ion-android-refresh"></ons-icon></ons-toolbar-button>
</div>
<div class="center">Internacional</div>
</ons-toolbar>
&#13;
答案 0 :(得分:1)
我想你问的是如何从后端检索新事件。如果这是正确的,您不需要重新加载整个页面。
您已经有一个名为getData的函数,可以通过您的服务检索数据。假设您的服务没有缓存数据,只需从按钮调用getData:
<ons-toolbar-button ng-click="getData()"><ons-icon icon="ion-android-refresh"></ons-icon></ons-toolbar-button>
P.S。如果您在服务中明确将缓存设置为true,则可以使用$cacheFactory.get('$http').removeAll();
删除缓存的数据。
答案 1 :(得分:0)
用于在没有回发的角度Js中重新加载相同的页面
首先从模板缓存中删除该网址,如果您调用$route.reload()
而不将其从$templateCache
中删除,则会从缓存中获取该网址并且不会获取最新内容
尝试以下代码
$scope.getdata=function()
{
var currentPageTemplate = $route.current.templateUrl;
$templateCache.remove(currentPageTemplate);
$route.reload();
}
并将其称为以下
<input type="button" ng-click="getdata();" value ="refresh"/>
希望这会有所帮助
请重新this