Javascript AngularJS:从过滤器中获取动态数组,然后将其用于forEach方法
我在此中有下表(尝试使用“搜索”输入)Javascript AngularJS:从过滤器中获取动态数组,然后将其用于forEach方法,javascript,angularjs,arrays,Javascript,Angularjs,Arrays,我在此中有下表(尝试使用“搜索”输入) 有什么想法吗?在控制器中,您应该$watch查看findProducts,该产品由ng model修改。在$watch处理程序中,您可以更新filteredArray。在使用forEach编写的代码中状态仅在控制器初始化时运行一次,而这不是您想要的。在控制器中,您应该$watch查看findProducts,它由ng model修改。在$watch处理程序中,您可以更新filteredArray。在使用forEach编写的代码中,state在控制器初始化时
有什么想法吗?在控制器中,您应该
$watch
查看findProducts
,该产品由ng model
修改。在$watch
处理程序中,您可以更新filteredArray
。在使用forEach编写的代码中
状态仅在控制器初始化时运行一次,而这不是您想要的。在控制器中,您应该$watch
查看findProducts
,它由ng model
修改。在$watch
处理程序中,您可以更新filteredArray
。在使用forEach编写的代码中,state在控制器初始化时只运行一次,这不是您想要的。您应该使用$scope.$watch
根据用户输入过滤控制器中的产品。然后,您将有权访问过滤后的数据集,以执行.forEach
循环
有关如何在控制器中使用过滤器的信息,请参见。以及如何使用名为“filter”的内置过滤器
app.controller("controllerApp", function($scope, $filter){
{
var products = [...];
$scope.filteredProducts = products;
$scope.$watch('findProducts', function(newVal) {
$scope.filteredProducts = $filter('filter')(products, newVal);
angular.forEach($scope.filteredProducts, function(value, key){
console.log("object from filtered array: "+value)
});
});
}
然后使用模板中的filteredProducts
<input type="text" name="findProducts" data-ng-model="findProducts" placeholder="search" />
<tr data-ng-repeat="product in filteredProducts">
您应该使用$scope.$watch
根据用户输入过滤控制器中的产品。然后,您将有权访问过滤后的数据集,以执行.forEach
循环
有关如何在控制器中使用过滤器的信息,请参见。以及如何使用名为“filter”的内置过滤器
app.controller("controllerApp", function($scope, $filter){
{
var products = [...];
$scope.filteredProducts = products;
$scope.$watch('findProducts', function(newVal) {
$scope.filteredProducts = $filter('filter')(products, newVal);
angular.forEach($scope.filteredProducts, function(value, key){
console.log("object from filtered array: "+value)
});
});
}
然后使用模板中的filteredProducts
<input type="text" name="findProducts" data-ng-model="findProducts" placeholder="search" />
<tr data-ng-repeat="product in filteredProducts">
btw,在控制器中,您可以注入$filter
服务并使用它而不是实现您自己的过滤器。顺便说一句,在控制器中,您可以注入$filter
服务并使用它而不是实现您自己的过滤器。