Angularjs 如何重新加载内容

Angularjs how can I reload the content

我有这段代码可以在页面加载时加载内容, 现在我想知道如何通过单击按钮重新加载内容。 你能用例子告诉我怎么做吗?

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>

用于在 angular Js 中重新加载同一页面而不 post 返回

首先从 模板缓存 中删除 url 如果您调用 $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

我想您是在问如何从后端检索新事件。如果正确,则无需重新加载整个页面。

您已经有一个名为 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();.

删除缓存数据