嗨,我是角色新手并制作我的第一个模块。这篇文章非常有帮助。我想通过lastweek记录过滤我的数据。我已经在mysql查询中找到了当前日期和给定日期的日期,在按钮上单击我只是设置像DisTopic = 1这样的值,这样可以正常工作。
请您告诉我如何为day>=1 && day<=7
我在下面使用: -
filter:{'topic': DisTopic,'attachment':attch, 'days':day}
请帮帮我。
答案 0 :(得分:1)
正如其他用户所说,您确实可以使用自定义过滤器执行此操作。但是,如果您发现自己编写了大量自定义过滤器,我建议您查看angular-filter模块。使用此模块,您可以使用pick
过滤器执行所需操作:
<div ng-repeat="task in tasks | pick: 'days >= 1 && days <= 7'">{{task.name}}</div>
参见 demo fiddle
模板:
<div ng-repeat="task in tasks | dayFilter: 1 : 7">{{task.name}}</div>
使用Javascript:
app.filter('dayFilter', function() {
return function(input, startDay, endDay) {
var filterFunction = function (item) {
return item.days >= startDay && item.days <= endDay;
};
return input.filter(filterFunction);
};
});
答案 1 :(得分:0)
自定义过滤器示例,您可以根据需要进行修改。
控制器
$scope.search = function (item) {
if ($scope.searchUser == null || $scope.searchUser.trim() == "")
return true;
if (item.FirstName.toLowerCase().indexOf($scope.searchUser.toLowerCase()) != -1 || item.LastName.toLowerCase().indexOf($scope.searchUser.toLowerCase()) != -1 || item.Role.toLowerCase().indexOf($scope.searchUser.toLowerCase()) != -1) {
return true;
}
return false;
};
而不是在你的视图中调用它
| filter:search
因此,根据您的要求,您可以在控制器中传递尽可能多的参数和修改方法。
答案 2 :(得分:0)
//Below code solve my problem.
Date.prototype.getWeek = function () {
// Create a copy of this date object
var target = new Date(this.valueOf());
// ISO week date weeks start on monday
// so correct the day number
var dayNr = (this.getDay() + 6) % 7;
// ISO 8601 states that week 1 is the week
// with the first thursday of that year.
// Set the target date to the thursday in the target week
target.setDate(target.getDate() - dayNr + 3);
// Store the millisecond value of the target date
var firstThursday = target.valueOf();
// Set the target to the first thursday of the year
// First set the target to january first
target.setMonth(0, 1);
// Not a thursday? Correct the date to the next thursday
if (target.getDay() !== 4) {
target.setMonth(0, 1 + ((4 - target.getDay()) + 7) % 7);
}
// The weeknumber is the number of weeks between the
// first thursday of the year and the thursday in the target week
return Math.ceil((firstThursday - target) / 604800000) - 1; // 604800000 = 7 * 24 * 3600 * 1000
};