如何将响应数据添加到 $scope 对象以在 ng-repeat 中使用
how to add response data to $scope object to use in ng-repeat
大家好,我试图从 $http.get
方法获取响应并将其附加到 $scope
对象,但它声明未定义。经过一些研究和参考,找到了将数据分配给对象的方法。但现在面临分配和使用 ng-repeat
视图中的问题。
请大家指导。
JS:
var self = $scope;
self.localnews = {};
$scope.nearme = function($scope) {
var lat = localStorage.getItem('lat');
var lon = localStorage.getItem('lon');
var request = $http.get("functions/functions.php?activity=getlocalnews&lat="+lat+"&lon="+lon).then(function (response) {
self = response;
return self;
});
request.then(function (data) {
self.localnews= (data.data)
console.log(self.localnews);
});
}
HTML 查看:
<div ng-repeat="post in ---what goes here??---" class="span12" style="border: 1px solid lightgray;margin:0;position:relative;">
已更新:
var self = $scope;
self.localnews = {};
$scope.nearme = function($scope) {
var lat = localStorage.getItem('lat');
var lon = localStorage.getItem('lon');
var request = $http.get("functions/functions.php?activity=getlocalnews&lat="+lat+"&lon="+lon).then(function (response) {
self.localnews = response.data;
return self.localnews;
});
request.then(function (data) {
self.localnews = (data);
console.log(self.localnews);
});
}
在视图中:appctrl 是 ctrl 名称。
<div ng-repeat="post in appctrl.localnews" class="span12" style="border: 1px solid lightgray;margin:0;position:relative;">
在你的控制器中试试这个
$scope.nearme = function() {
var lat = localStorage.getItem('lat');
var lon = localStorage.getItem('lon');
$http.get("functions/functions.php?activity=getlocalnews&lat="+lat+"&lon="+lon).then(function (response) {
$scope.localnews = response.data;
console.log($scope.localnews);
});
};
然后像这样使用ng-repeat
<div ng-repeat="post in localnews" class="span12" style="border: 1px solid lightgray;margin:0;position:relative;">
其中 localnews 必须是一个数组。
如果您使用 controllerAs
语法,请使用此
var self = this;
self.localnews = {};
$scope.nearme = function($scope) {
var lat = localStorage.getItem('lat');
var lon = localStorage.getItem('lon');
var request = $http.get("functions/functions.php?activity=getlocalnews&lat="+lat+"&lon="+lon).then(function (response) {
self.localnews = response.data;
});
}
在HTML中:
<div ng-controller="appctrl as app">
<div ng-repeat="post in app.localnews" class="span12" style="border: 1px solid lightgray;margin:0;position:relative;">
</div>
</div>
如果你没有使用ControllerAs
语法:
$scope.localnews = {};
$scope.nearme = function($scope) {
var lat = localStorage.getItem('lat');
var lon = localStorage.getItem('lon');
var request = $http.get("functions/functions.php?activity=getlocalnews&lat="+lat+"&lon="+lon).then(function (response) {
$scope.localnews = response.data;
});
}
在HTML中:
<div ng-controller="appctrl">
<div ng-repeat="post in localnews" class="span12" style="border: 1px solid lightgray;margin:0;position:relative;">
</div>
</div>
大家好,我试图从 $http.get
方法获取响应并将其附加到 $scope
对象,但它声明未定义。经过一些研究和参考,找到了将数据分配给对象的方法。但现在面临分配和使用 ng-repeat
视图中的问题。
请大家指导。
JS:
var self = $scope;
self.localnews = {};
$scope.nearme = function($scope) {
var lat = localStorage.getItem('lat');
var lon = localStorage.getItem('lon');
var request = $http.get("functions/functions.php?activity=getlocalnews&lat="+lat+"&lon="+lon).then(function (response) {
self = response;
return self;
});
request.then(function (data) {
self.localnews= (data.data)
console.log(self.localnews);
});
}
HTML 查看:
<div ng-repeat="post in ---what goes here??---" class="span12" style="border: 1px solid lightgray;margin:0;position:relative;">
已更新:
var self = $scope;
self.localnews = {};
$scope.nearme = function($scope) {
var lat = localStorage.getItem('lat');
var lon = localStorage.getItem('lon');
var request = $http.get("functions/functions.php?activity=getlocalnews&lat="+lat+"&lon="+lon).then(function (response) {
self.localnews = response.data;
return self.localnews;
});
request.then(function (data) {
self.localnews = (data);
console.log(self.localnews);
});
}
在视图中:appctrl 是 ctrl 名称。
<div ng-repeat="post in appctrl.localnews" class="span12" style="border: 1px solid lightgray;margin:0;position:relative;">
在你的控制器中试试这个
$scope.nearme = function() {
var lat = localStorage.getItem('lat');
var lon = localStorage.getItem('lon');
$http.get("functions/functions.php?activity=getlocalnews&lat="+lat+"&lon="+lon).then(function (response) {
$scope.localnews = response.data;
console.log($scope.localnews);
});
};
然后像这样使用ng-repeat
<div ng-repeat="post in localnews" class="span12" style="border: 1px solid lightgray;margin:0;position:relative;">
其中 localnews 必须是一个数组。
如果您使用 controllerAs
语法,请使用此
var self = this;
self.localnews = {};
$scope.nearme = function($scope) {
var lat = localStorage.getItem('lat');
var lon = localStorage.getItem('lon');
var request = $http.get("functions/functions.php?activity=getlocalnews&lat="+lat+"&lon="+lon).then(function (response) {
self.localnews = response.data;
});
}
在HTML中:
<div ng-controller="appctrl as app">
<div ng-repeat="post in app.localnews" class="span12" style="border: 1px solid lightgray;margin:0;position:relative;">
</div>
</div>
如果你没有使用ControllerAs
语法:
$scope.localnews = {};
$scope.nearme = function($scope) {
var lat = localStorage.getItem('lat');
var lon = localStorage.getItem('lon');
var request = $http.get("functions/functions.php?activity=getlocalnews&lat="+lat+"&lon="+lon).then(function (response) {
$scope.localnews = response.data;
});
}
在HTML中:
<div ng-controller="appctrl">
<div ng-repeat="post in localnews" class="span12" style="border: 1px solid lightgray;margin:0;position:relative;">
</div>
</div>