你好,我的json:
[
{
"name": "AAAAAA",
"data": "False",
},
{
"name": "BBBBBB",
"data": "45%",
},
{
"name": "CCCCCC",
"data": "12%",
},
{
"name": "DDDDDD",
"data": "False",
}
]
我的javascript:
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重新加载控制器中的数据,但它没有用。点击按钮重新加载后没有任何反应。 提前感谢您的回答!
答案 0 :(得分:0)
确定$window.location.reload();
代替$route.reload();
,或者您可以应用刷新功能。
$route.reload()
用于刷新路由,$window.location.reload();
用于刷新页面。
干杯:)
答案 1 :(得分:0)
尝试$window.location.reload()
但请记住,这会重新启动应用程序,因此可能无法执行任何功能,因此您必须在完成所需操作后对其进行战略性放置。
答案 2 :(得分:0)
您提供的代码存在一些问题。我修复了其中的一些并使你的代码工作。你可以在这里查看:
https://plnkr.co/edit/DpRUJg520yew91t93oVr
这是script.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();
});