Angularjs:在出现“错误”时如何将$filter传递给函数;控制器为;语法?

Angularjs:在出现“错误”时如何将$filter传递给函数;控制器为;语法?,angularjs,Angularjs,我对AngularJS是新手。我正试图从我正在关注的一本书中找出一个体育商店应用程序的例子 在这个应用程序中,有几个类别的产品。类别也显示在视图的左侧 单击“类别”将按类别过滤产品,并突出显示类别按钮 在网上阅读教程时,我了解到“controller as”语法比“$scope”语法更受欢迎 如何将过滤器(categoryFilterFn)传递给控制器函数,以便按类别过滤产品 app.html 家 {{item}} {{item.name}} {{item.price | currency

我对AngularJS是新手。我正试图从我正在关注的一本书中找出一个体育商店应用程序的例子

在这个应用程序中,有几个类别的产品。类别也显示在视图的左侧

单击“类别”将按类别过滤产品,并突出显示类别按钮

在网上阅读教程时,我了解到“controller as”语法比“$scope”语法更受欢迎

如何将过滤器(categoryFilterFn)传递给控制器函数,以便按类别过滤产品

app.html


家
{{item}}
{{item.name}}
{{item.price | currency}}
{{item.description}
如果您想在控制器中使用自定义过滤器,只需使用过滤器名称和后缀
过滤器将自定义过滤器插入控制器即可

在您的实例中,您需要注入
unique\u selectionFilter
。然后,您可以在控制器中使用它传递数据和属性名称值:

unique_selectionFilter(data, propertyName)
或者,您可以插入服务并通过传入其名称来访问过滤器:

$filter('unique_selection')(data, propertyName) 

您的示例混合了两个控制器,一个使用“controllerAs”语法,另一个使用传统语法。这会让我们和你发疯的。只采用一种语法,并对所有控制器使用它。可以随意使用简单的实例名称,如
vm
vm2
等,这样可以减少模板的混乱。