我的 AngularJS 应用程序有一个带有搜索输入和搜索类型多选选择的登录页面。当访问者输入搜索并单击 GO 时,应用程序将路由到结果视图。
现在,根据他们在搜索类型下拉列表中选择的内容,视图会有所不同。他们可能会选择搜索一个人、一个地方或一个公司。
如何使视图根据搜索类型处理差异。该视图是结果的 ng-repeat。如果搜索类型是地点,则为地址。如果是一个人,那么标题就是名字。
我认为我的观点需要成为一个指令,但我还没有看到这种类型的例子。
我的 AngularJS 应用程序有一个带有搜索输入和搜索类型多选选择的登录页面。当访问者输入搜索并单击 GO 时,应用程序将路由到结果视图。
现在,根据他们在搜索类型下拉列表中选择的内容,视图会有所不同。他们可能会选择搜索一个人、一个地方或一个公司。
如何使视图根据搜索类型处理差异。该视图是结果的 ng-repeat。如果搜索类型是地点,则为地址。如果是一个人,那么标题就是名字。
我认为我的观点需要成为一个指令,但我还没有看到这种类型的例子。
这是一个 plnkr,它演示了如何根据options
列表中的选择执行不同的路由。这种方法让您可以为每个搜索类别定义不同的控制器、范围和模板。
更新 这是一个 jsfiddle,它说明了使用可以注入控制器的服务来提供特定于类别的搜索
var myApp = angular.module("myApp", []);
myApp.factory("searchService", function() {
return {
doSearch: function(query, category) {
return "searching for '" + query + "' in category '" + category + "'";
}
};
});
function demo($scope, searchService) {
$scope.search = function() {
$scope.results = searchService.doSearch($scope.query, $scope.searchCategory);
}
};