重新加载数据控制器 json



你好,这是我的json:

[
    {
        "name": "AAAAAA",
        "data": "False",
    },
    {
        "name": "BBBBBB",
        "data": "45%",
    },
    {
        "name": "CCCCCC",
        "data": "12%",
    },
    {
        "name": "DDDDDD",
        "data": "False",
    }
]

我的脚本 :

    var app = angular.module('app', ['ngRoute']);
        app.service('service', function($http, $q){
            var deferred = $q.defer();
            $http.get('names.json').then(function(data){
                deferred.resolve(data);
            });
            this.getNames = function() {
                return deferred.promise;
            }
        });
        app.controller('FirstCtrl', function($scope, service, $http, $route) {
        var vm = this;
        vm.reloadData = function(){
            $route.reload();
        }
            var promise = service.getNames();
            promise.then(function (data) {
                $scope.names = data.data;
                console.log($scope.names);
            }
        );

.HTML:

    <tbody>
            <tr ng-repeat="name in names">
                <td>{{name.name}}</td>
                <td>{{name.date}}</td>
            </tr>
        </tbody>
<button ng-click="FirstCtrl.reloadData()">Reload</button>

我想在 reloadData() 函数中从 json 重新加载控制器中的数据,但它不起作用。单击按钮后 重新加载 没有任何反应。提前感谢您的回答!

好的尝试

$window.location.reload();代替$route.reload();或者您可以应用刷新功能。

$route.reload()用于刷新路由,$window.location.reload();用于刷新页面。

干杯:)

尝试$window.location.reload()但请记住,这将重新启动应用程序,因此之后的任何功能都可能无法执行,因此您必须在完成所需的操作后战略性地放置它。

您提供的代码遇到了一些问题。我修复了其中的一些并使您的代码正常工作。您可以在此处查看:

https://plnkr.co/edit/DpRUJg520yew91t93oVr

这是脚本.js:

var app = angular.module('app', []);
app.service('service', function($http, $q){
            var deferred = $q.defer();
            $http.get('names.json').then(function(data){
                deferred.resolve(data);
            });
            this.getNames = function() {
                return deferred.promise;
            }
        });
  app.controller('FirstCtrl', function($scope, service, $http) {
        var vm = this;
        vm.reloadData = function(){
          console.log("reloading");
            vm.loadData();
        };
        vm.loadData = function(){
           var promise = service.getNames();
            promise.then(function (data) {
                $scope.names = data.data;
                console.log($scope.names);
            });
        }
      vm.loadData();
  });

相关内容

  • 没有找到相关文章

最新更新