Angularjs 根据ng change功能更改ng repeat的值

Angularjs 根据ng change功能更改ng repeat的值,angularjs,angularjs-ng-repeat,angularjs-ng-change,ng-filter,Angularjs,Angularjs Ng Repeat,Angularjs Ng Change,Ng Filter,我有TextFeild,我将在其中输入日期范围,因此根据日期范围将从数据库中获取数据。现在我让ng repeat视图显示数据,因此我需要根据date rage中选择的值更改数据。我尝试过应用过滤器,但它不起作用,因为它必须在值更改时命中数据库。有人能给我建议解决办法吗 <input ng-model="From_Date" ng-change="setCustomSelect()" type="text" class="form-control" placeholder="Select f

我有TextFeild,我将在其中输入日期范围,因此根据日期范围将从数据库中获取数据。现在我让ng repeat视图显示数据,因此我需要根据date rage中选择的值更改数据。我尝试过应用过滤器,但它不起作用,因为它必须在值更改时命中数据库。有人能给我建议解决办法吗

<input ng-model="From_Date" ng-change="setCustomSelect()" type="text" class="form-control" placeholder="Select from  Date" datepicker readonly></input>
<input ng-model="To_Date" ng-change="setCustomSelect()" type="text" class="form-control "placeholder="Select to  Date" datepicker readonly></input>

<tr ng-repeat="user in users">  


            <td >
              {{user.name}}
            </td>              
            <td > 
             {{user.email}}           
            </td>
</tr>

{{user.name}
{{user.email}

当您声明从数据库获取数据时,您应该将日期传递给后端服务,按日期查询用户,然后返回

您可以使用输入上的指令调用控制器中定义的函数,该函数将从您的服务中获取数据,并使用该数据更新视图

在您的服务中,您可以通过Angular的服务提出请求,将日期作为参数传递

这是您可以使用的结构类型:

//app.js
(功能(){
"严格使用",;
角度模块('app',[]);
})();
//main.controller.js
(功能(){
"严格使用",;
角度。模块('app')。控制器('MainController',MainController);
MainController.$inject=['UserService'];
功能主控制器(用户服务){
//将此作为控制器的语法参考
var vm=这个;
//定义我们的默认日期
vm.startDate=新日期();
vm.endDate=新日期();
//调用我们的激活功能
激活();
/*
*@name激活
*@type函数
*
*@说明
*初始化启动时需要的所有内容
*
*@一无所获。
*/
函数激活(){
//获取我们的第一组用户
//注意:在我看来,你应该使用解析
//将数据导入控制器,以便您已经拥有它
getUsers(vm.startDate、vm.endDate);
}
/*
*@name getUsers
*@type函数
*
*@说明
*检查是否有有效的开始和结束日期
*如果我们有有效的日期,请调用\u getUsers
*
*@param{date}startDate要从中筛选的日期
*@param{date}endDate要筛选到的日期
*@一无所获。
*/
函数getUsers(开始日期、结束日期){
如果(!startDate | |!endDate){
返回;
}
_getUsers(开始日期、结束日期);
}
/*
*@name\u getUsers
*@type函数
*
*@说明
*通过我们的用户服务从我们的API获取用户
*
*@param{date}startDate要从中筛选的日期
*@param{date}endDate要筛选到的日期
*@一无所获。
*/
函数_getUsers(开始日期、结束日期){
getUsers(开始日期,结束日期)。然后(函数(用户){
//更新用户
vm.users=用户;
},函数(错误){
//处理错误
});
}
}
})();
//user.service.js
(功能(){
"严格使用",;
角度。模块('app')。工厂('UserService',UserService);
UserService.$inject=['$log','$q','$http'];
函数UserService($log、$q、$http){
var服务={
getUsers:getUsers
};
回程服务;
/*
*@name getUsers
*@type函数
*
*@说明
*从我们的API获取用户
*
*@param{date}startDate要从中筛选的日期
*@param{date}endDate要筛选到的日期
*@return{promise}$http请求的结果
*/
函数getUsers(开始日期、结束日期){
//把你的约会转换成你所需要的
var startDateTime=startDate.getTime();
var endDateTime=endDate.getTime();
$log.debug(“获取用户…”);
返回$q(函数(解析、拒绝){
$http.get('http://example.com/api/users?startDate=“+startDateTime+”&endDate=”+endDateTime)
.然后(功能(响应){
$log.debug(“成功响应获取用户…”,响应);
返回解析(response.data);
},函数(错误){
$log.debug(“获取用户失败…”,错误);
返回拒绝(错误);
});
});
}
}
})();

{{user.name}
{{user.email}

请向我们展示您的代码,以便我们更好地为您提供帮助。我的代码是这样的,因此当我更改开始日期和结束日期时,它将访问数据库并获取值。现在,当我像这样应用时,它不起作用。他们有什么方法可以做到这一点吗?如果您可以创建一个工作示例,那么预期的输出是什么,您得到的是什么?我希望通过调用函数setCustomSelect()来获得基于“到”和“起”日期的用户详细信息。我在setCustomSelect函数中获取用户详细信息,但它们没有反映在视图上,其中是筛选方法代码,更新为post。我获取$scope.users变量中的值,因此在ng change函数中,我还保留了$scope.users变量和更新的数据。但问题是数据没有反映在视图中。