AngularJS函数用于过滤数据
我在mysql数据库中有一个名为date的列,每个帖子都有一个不同的日期,如:2015-1-1 我创建了一个函数来检查今天的日期是否与mysql数据库中的日期匹配,以便它按日期过滤帖子 这是我的app.jsAngularJS函数用于过滤数据,angularjs,Angularjs,我在mysql数据库中有一个名为date的列,每个帖子都有一个不同的日期,如:2015-1-1 我创建了一个函数来检查今天的日期是否与mysql数据库中的日期匹配,以便它按日期过滤帖子 这是我的app.js app.controller('TimeController', function($scope, $http) { $http.post('ajax/getQuotes.php').success(function(data){ $scope.quote
app.controller('TimeController', function($scope, $http) {
$http.post('ajax/getQuotes.php').success(function(data){
$scope.quote = filterByDate(data);
});
function filterByDate(input) {
var date = new Date();
var day = date.getDate();
var month = date.getMonth() + 1;
var year = date.getFullYear();
var matchDate = year + "-" + day+ "-" + month;
if( input[value] == matchDate){
return data;
}
}
但这不起作用,有什么建议吗?两个问题:
为什么要先提取所有数据,然后应用过滤器?为什么不在服务器端将请求限制为所需的日期,并只返回该日期的数据
如果要一次提取所有数据,请使用ng repeat中的筛选器。这样,您的数据是动态的,之后仍然可以更改过滤器
你的过滤代码没有任何意义 您接受名为input的变量。 使用今天的日期创建新的日期对象。 将日、月和年变量设置为从今天开始的一个月中的一天。 您可以基于年、日和月值手动构建名为matchDate的字符串。 您尝试使用一个从未定义过的变量value将matchDate变量与输入上的数组索引进行比较。由于一些原因,这永远不会被评估为真,特别是因为输入[值]毫无意义。此外,您应该使用===而不是==。 如果比较结果的计算结果为true,则尝试返回一个名为data的变量,该变量从未在函数中定义过,因此肯定为null。
你回来干什么?这段代码看起来根本没什么用嗨,迈克尔!非常感谢。1.我被告知可以在服务器端进行过滤,但我需要在url中传递一些变量,如:/?month=1,我进行了一些谷歌搜索,但无法使其工作。2.我可以使用ng repeat,但我尝试了我的代码来过滤月和日,但也无法使其工作,如果您需要更多信息,请让我知道?