我正在学习AngularJS教程,并了解<li ng-repeat="item in items | filter:query">
但是,开箱即用的实施似乎仅限于将项目列表过滤为<input ng-model="query">
中输入的确切字词或短语。
示例:如果查询是“桌布”,则结果列表可以包含此短语“装饰表布”的结果,但不包括“装饰布料表”,因为过滤器只是一个连续搜索字符串。
我知道有能力添加自定义过滤器,但乍一看似乎主要是变换。
有没有办法添加自定义过滤器,以便在过滤结果集中显示“装饰桌布”和“装饰桌布”?
答案 0 :(得分:1)
您需要定义路线:
$routeProvider.when('/add-item/:itemId', route_descriptor_object)
这是一个带有示例的plunker: http://plnkr.co/edit/CWq7au244DS1TiuXlu4N
答案 1 :(得分:0)
除了弗拉基米尔的回答,angular ui router是一个常用的路由库,它提供的功能比angular的默认路由提供者更多。
这里有一节关于传递参数的部分https://github.com/angular-ui/ui-router/wiki/URL-Routing#basic-parameters
$stateProvider
.state('exampleState', {
url: "/foo/:myParameter",
templateUrl: 'foo.html',
controller: function ($stateParams) {
// If we got here from a url of /foo/42
expect($stateParams.myParameter).toBe(42);
}
})